NOT EXISTS [mysql] - SQL/NoSQL - Programmation
Marsh Posté le 19-06-2007 à 15:47:08
je ne sais pas pourquoi c ane te retourne rien , mais dans ce cas, je n'utiliserai pas un exists
plutot quelque chose comme ca
Code :
|
( eventuellement un SELECT DISTINCT si tu ne veux les parents qu'une fois )
Marsh Posté le 19-06-2007 à 15:49:08
flo850 a écrit : je ne sais pas pourquoi c ane te retourne rien , mais dans ce cas, je n'utiliserai pas un exists
|
Le truc c'est qu'en vrai je veux faire un DELETE (supprimer tous les parents n'ayant pas d'enfants). Du coup je sais pas si ta soluce est appliquable ?
Marsh Posté le 19-06-2007 à 18:19:17
theredled a écrit : Le truc c'est qu'en vrai je veux faire un DELETE (supprimer tous les parents n'ayant pas d'enfants). Du coup je sais pas si ta soluce est appliquable ? |
et avec un truc genre
DELETE FROM parents WHERE a.id parent NOT IN (SELECT a.id parent FROM parents a, enfants b WHERE a.id parent = b.id parent)
ça pourrait pas le faire
Marsh Posté le 19-06-2007 à 18:20:36
stune solution
mais j'aimerais bien faire marcher mon NOT EXISTS
Marsh Posté le 19-06-2007 à 18:24:39
ben ya pas grand chose à changer si t'y tiens absolument :
DELETE FROM parents WHERE a.id parent NOT EXISTS (SELECT a.id parent FROM parents a, enfants b WHERE a.id parent = b.id parent)
Marsh Posté le 19-06-2007 à 22:36:17
ShadowKnight a écrit : ben ya pas grand chose à changer si t'y tiens absolument : DELETE FROM parents WHERE a.id parent NOT EXISTS (SELECT a.id parent FROM parents a, enfants b WHERE a.id parent = b.id parent) |
je pense pas que ça marche ça
Marsh Posté le 20-06-2007 à 09:26:13
theredled a écrit : je pense pas que ça marche ça |
+1
Ta 1ere requête me parait correcte, j'aurais juste tendance à éviter le * dans le sous select.
Tu aurais un jeu de test "qui ne marche pas".
Par ailleurs, si tu peux evite le NOT IN qui est catastrophique sur les perfs.
Marsh Posté le 20-06-2007 à 10:06:42
Oh my god
C'est mon test qui était foireux (donc la requete était très bien)
Merci le matin
Marsh Posté le 20-06-2007 à 11:41:48
Liste des parents sans enfant :
Code :
|
Marsh Posté le 19-06-2007 à 15:11:24
hello
j'ai deux tables de type :
---- table parents -----
--> id
--> nom
---- table enfants -----
--> id
--> id parent
--> nom
Je voudrais sélectionner tous les parents ayant au moins un enfant.
Je comptais faire avec EXISTS :
Mais ça me retourne rien alors que ça devrait Pourquoi donc ? Que faire ?
Message édité par theredled le 19-06-2007 à 15:13:50
---------------
Contes de fées en yaourt --- █ --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique