OVH Cloud OVH Cloud

RQ compliqué

1 réponse
Avatar
TEV
Bonjour,

Je cherche à faire une requête qui me permette de récupérer tout les ID qui
ne sont pas comme "x". Mais je souhaite garder tous les autres ID de l'autre
table qui est en LEFT JOIN. Autrement dit j'ai 100 enregistrements dans la
table principale et seulement 50 dans l'autre. Après la discrimination par
le critère "x", il reste 30 enregistrement. Le résultat qui est aujourd'hui
donné me donne seulement ces 30 alors que je voudrais voir les 100 - 20 = 80
enregistrements restants.

Pour essayer de faire comprendre ce que je viens de dire je montre ce que je
fais cette RQ avec sous requête.

SELECT tp.ID FROM (tp LEFT JOIN table2 ON tp.id = table2.id) GROUP BY tp.id,
table2.id HAVING NOT IN (SELECT table2.ID, tp.id FROM (tp LEFT JOIN table2
ON tp.id = table2.id) GROUP BY tp.id,table2.id HAVING table2.critere LIKE
"x" ;

Le résultat est que cela me retourne seulement les id qui ne sont pas comme
"x" et non pas tous les autres même ceux ne figurant pas dans table2.

J'ai essayé avec EXISTS cela ne marche pas non plus.

Je ne sais s'il est possible de m'aider mais par avance merci.

Christian.

1 réponse

Avatar
3stone
Salut,

TEV
Je cherche à faire une requête qui me permette de récupérer tout les ID qui
ne sont pas comme "x". Mais je souhaite garder tous les autres ID de l'autre
table qui est en LEFT JOIN. Autrement dit j'ai 100 enregistrements dans la
table principale et seulement 50 dans l'autre. Après la discrimination par
le critère "x", il reste 30 enregistrement. Le résultat qui est aujourd'hui
donné me donne seulement ces 30 alors que je voudrais voir les 100 - 20 = 80
enregistrements restants.



Avec ceci ?

SELECT Table1.ID, Table1.Champ2, Table1.Champ3 , Table2.ID
FROM Table2 RIGHT JOIN Table1 ON Table2.ID = Table1.ID
WHERE ((( Table2.ID ) Is Null Or ( Table2.ID) <> x ));


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/
--------------------------------------