Salut la communauté,

Je compte bien sur vous pour m'aider à sortir de ce mauvais pas...

Autodidacte et plutot novice en requete SQL, j'ai un probleme.

J'ai plusieurs requetes imbriquées de cet ordre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
SELECT DISTINCT C.NOM
FROM C 
WHERE C.CODE REGEXP 'zzz' 
AND C.NOM NOT IN ( 
	SELECT DISTINCT C.NOM 
	FROM C 
	WHERE C.CODE REGEXP 'zzz' 
AND C.TOTO = 'oui'
)
GROUP BY C.NOM
ORDER BY C.NOM
Si j'ai des résultats dans les deux requetes pas de probleme, la requete rempli son rôle de me donner les elements qui sont dans l'un et pas dans l'autre.

Là où se pose mon probleme, c'est qu'il peut arriver qu'il n'y ait aucun résultat dans la deuxieme requete.

Du coup, la requete totale ne renvoie aucun résultat.

Je souhaite que si la requete imbriquée ne rnevoie aucun résultat, alors on en affiche quand même un

Un truc du genre

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
SELECT DISTINCT C.NOM
FROM C 
WHERE C.CODE REGEXP 'zzz' 
AND C.NOM NOT IN ( 
	if(SELECT count(C.NOM) 
FROM C WHERE C.CODE REGEXP 'zzz' 
AND C.TOTO = 'oui') = 0 then "RIEN" 
else C.NOM)
GROUP BY C.NOM
ORDER BY C.NOM
Merci à vous pour votre aide, j'espere avoir été clair.