- Raouf-TraikiaInvité
Exercice 23
Mar 5 Mai - 15:53
Bonjours Monsieur ,
J'obtient le programme suivant :
SELECT v.nom FROM villes AS v
JOIN trajets AS t ON t.depart=v.code_postal OR t.arrivee=v.code_postal
WHERE t.TGV ='0' AND v.population>'200000'
GROUP BY v.nom
Sauf qu'il ne me renvoie que les villles de plus de 200000 habitants, je ne vois pas où est mon erreur.
Merci d'avance
J'obtient le programme suivant :
SELECT v.nom FROM villes AS v
JOIN trajets AS t ON t.depart=v.code_postal OR t.arrivee=v.code_postal
WHERE t.TGV ='0' AND v.population>'200000'
GROUP BY v.nom
Sauf qu'il ne me renvoie que les villles de plus de 200000 habitants, je ne vois pas où est mon erreur.
Merci d'avance
Re: Exercice 23
Mar 5 Mai - 16:33
C'est ici un problème de logique.
Tu demandes les villes de plus de 200000 qui ont un train qui n'est pas un TGV.
La question est d'avoir aucun TGV ce qui n'est pas pareil.
Par exemple, Paris (75000) a 4 TGV et 5 non-tgv donc il apparaît dans ta requête (5 fois) mais ne devrait pas.
Il faut ici utiliser EXCEPT pour supprimer de la liste ceux qui ont un TGV
L'idée est ainsi
(WHERE population>200000)
EXCEPT
(WHERE TGV=1)
NB Le code est délibérément incomplet
Tu demandes les villes de plus de 200000 qui ont un train qui n'est pas un TGV.
La question est d'avoir aucun TGV ce qui n'est pas pareil.
Par exemple, Paris (75000) a 4 TGV et 5 non-tgv donc il apparaît dans ta requête (5 fois) mais ne devrait pas.
Il faut ici utiliser EXCEPT pour supprimer de la liste ceux qui ont un TGV
L'idée est ainsi
(WHERE population>200000)
EXCEPT
(WHERE TGV=1)
NB Le code est délibérément incomplet
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum