Bonjour, j'ai une base avec 2 tables: 'perso et client',
perso a pour colonnes:
id, prop, etat
état vaut 'Y' si on effectue un suivi, sinon (par défaut) 'N'.
client a pour colonnes:
ref, nom
Sachant que pour une ligne dans client il n'y a pas obligatoirement de ligne dans perso.
Diverses requêtes fonctionnent très bien, mais avec une j'ai un problème;
SELECT * FROM client AS t1 LEFT JOIN (SELECT * FROM perso WHERE prop=3) AS t2 ON t1.ref=t2.id WHERE t2.etat='Y'
me retourne bien toutes les lignes pour lesquelles état='Y'
par contre, moi ce qui m'interesse c'est de récupérer les lignes pour lesquelles état est différent de 'Y' soit 'N' soit NULL.
J'ai essayé une solution propre:
SELECT * FROM client AS t1 LEFT JOIN (SELECT * FROM perso WHERE prop=3) AS t2 ON t1.ref=t2.id WHERE t2.etat!='Y'
et une solution sale:
SELECT * FROM client AS t1 LEFT JOIN (SELECT * FROM perso WHERE prop=3) AS t2 ON t1.ref=t2.id WHERE t2.etat='N' OR t2.etat=NULL
et rien à faire dans tous les cas, il n'y a pas de réponses retournées alors que si je fais un simple:
SELECT * FROM client AS t1 LEFT JOIN (SELECT * FROM perso WHERE prop=3) AS t2 ON t1.ref=t2.id WHERE 1
Toutes les lignes apparaissent (celles pour qui état vaut 'Y' et celles pour qui etat vaut NULL)
Si vous avez des solutions ça pourrait bien m'aider car je me casse le sdents sur ce probème depuis un petit moment et je commence à prendre du retard.
Merci d'avance à vous tous.