Requete SQL qui ne fonctionne pas
Uruca
Messages postés
96
Date d'inscription
Statut
Membre
Dernière intervention
-
Uruca Messages postés 96 Date d'inscription Statut Membre Dernière intervention -
Uruca Messages postés 96 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'aimerais savoir pourquoi je n'obtient pas le résultat attendu...
Je pense que mes opérateurs ne sont pas bons dans mon es requêtes imbriquées
Voici ma requête:
CREATE or replace VIEW VImpayes as
select VCEC.numtable, VCC.total as totalmenu, VCM.total as totalcarte, (VCC.total+VCM.total) as montanttotal
from VCommandesEnCours VCEC,VCommandesCarte VCC,VCommandesMenu VCM
where (VCC.numtable,VCC.total) in (
select numtable, sum(total)
from VCommandesCarte
group by numtable)
and
(VCM.numtable,VCM.total) in (
select numtable, sum(total)
from VCommandesMenu
group by numtable);
Voici les autres vues qui marchent correctement :
Create or replace view VCommandesCarte(numtable, nb, nomcrepe, prix, total) as
select CmC.numtable, CmC.nb, CmC.nomCrepe, Cr.prixCarte as prix, (CmC.nb * Cr.prixCarte) as total
from Crepe Cr, CommandeCarte CmC
where CmC.Paye='non' and CmC.NomCrepe=Cr.NomCrepe
order by CmC.numtable;
Create or replace view VCommandesMenu(numtable, nb, nommenu, prix, total) as
select distinct CmM.numtable, CmM.nb, CmM.nomMenu, M.prixtotalmenu as prix, (CmM.nb * M.prixTotalMenu) as total
from Crepe Cr, CommandeMenu CmM, Menu M
where CmM.Paye='non' and CmM.NomMenu=M.NomMenu
order by CmM.numtable
Les résultats obtenus devraient etre
table 1 :total crepe= 31 total menu = 22
table 2: total crepe= 30 total menu = 50
table 3: total crepe= 0 total menu = 65
Ici j'obtient pour les 3 tables :
30/50 total: 80
Si vous avez besoin de plus d'informations, dites moi,
Merci de votre aide,
Cordialement
j'aimerais savoir pourquoi je n'obtient pas le résultat attendu...
Je pense que mes opérateurs ne sont pas bons dans mon es requêtes imbriquées
Voici ma requête:
CREATE or replace VIEW VImpayes as
select VCEC.numtable, VCC.total as totalmenu, VCM.total as totalcarte, (VCC.total+VCM.total) as montanttotal
from VCommandesEnCours VCEC,VCommandesCarte VCC,VCommandesMenu VCM
where (VCC.numtable,VCC.total) in (
select numtable, sum(total)
from VCommandesCarte
group by numtable)
and
(VCM.numtable,VCM.total) in (
select numtable, sum(total)
from VCommandesMenu
group by numtable);
Voici les autres vues qui marchent correctement :
Create or replace view VCommandesCarte(numtable, nb, nomcrepe, prix, total) as
select CmC.numtable, CmC.nb, CmC.nomCrepe, Cr.prixCarte as prix, (CmC.nb * Cr.prixCarte) as total
from Crepe Cr, CommandeCarte CmC
where CmC.Paye='non' and CmC.NomCrepe=Cr.NomCrepe
order by CmC.numtable;
Create or replace view VCommandesMenu(numtable, nb, nommenu, prix, total) as
select distinct CmM.numtable, CmM.nb, CmM.nomMenu, M.prixtotalmenu as prix, (CmM.nb * M.prixTotalMenu) as total
from Crepe Cr, CommandeMenu CmM, Menu M
where CmM.Paye='non' and CmM.NomMenu=M.NomMenu
order by CmM.numtable
Les résultats obtenus devraient etre
table 1 :total crepe= 31 total menu = 22
table 2: total crepe= 30 total menu = 50
table 3: total crepe= 0 total menu = 65
Ici j'obtient pour les 3 tables :
30/50 total: 80
Si vous avez besoin de plus d'informations, dites moi,
Merci de votre aide,
Cordialement
A voir également:
- Requete SQL qui ne fonctionne pas
- Logiciel sql - Télécharger - Bases de données
- Sql lister les tables ✓ - Forum Programmation
- Ora-00933: la commande sql ne se termine pas correctement ✓ - Forum Oracle
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
2 réponses
J'ai peut-être mal compris ce que tu voulais faire, mais pourquoi ne pas faire une simple requête comme celle-ci :
CREATE or replace VIEW VImpayes as
select numtable, sum(VCM.total) as totalmenu, sum(VCC.total) as totalcarte, sum(VCM.total) + sum(VCC.total) as montanttotal
from VCommandesEncours
inner join VCommandesCarte as VCC using(numtable)
inner join VCommandesMenu as VCM using(numtable)
CREATE or replace VIEW VImpayes as
select numtable, sum(VCM.total) as totalmenu, sum(VCC.total) as totalcarte, sum(VCM.total) + sum(VCC.total) as montanttotal
from VCommandesEncours
inner join VCommandesCarte as VCC using(numtable)
inner join VCommandesMenu as VCM using(numtable)
je voudrais que ca ressemble à ca
http://www.heberger-image.fr/data/images/19796_Sans_titre_2.png/IMG[/URL]
Donc :
CREATE or replace VIEW VImpayes as
select numtable, sum(VCM.total) as totalmenu, sum(VCC.total) as totalcarte, sum(VCM.total) + sum(VCC.total) as montanttotal
from VCommandesEncours
inner join VCommandesCarte as VCC using(numtable)
inner join VCommandesMenu as VCM using(numtable)
group by numtable
Je pense que je suis sur le bon chemin mais qu'il y a juste un truc qui cloche...
Tu peux donc reformuler la requête ainsi :
CREATE or replace VIEW VImpayes as
select numtable, sum(VCM.total) as totalmenu, sum(VCC.total) as totalcarte, sum(VCM.total) + sum(VCC.total) as montanttotal
from VCommandesEncours as VCE, VCommandesCarte as VCC, VCommandesMenu as VCM
where VCE.numtable = VCC.numtable and VCE.numtable = VCM.numtable
group by numtable