Bonjour,
Par une sous-requête avec le mot-clef NOT IN, c'est faisable. Mais si votre version de MySQL est antérieure à la 4.1, voici une autre requête sans sous-requête qui fait la même chose (et est donc plus performante) :
Code:
1 2 3 4
| select t1.nom
from matable t1
left join matable t2 on t1.nom = t2.nom and t2.etat = 'OPEN'
where t2.nom is null |
C'est une auto-jointure sur la table (que j'ai appelé ici "matable", super original ;)), en ne gardant que les lignes avec un état à OPEN.
Dans le where, on ne garde que les lignes qui n'ont pas de correspondance dans la jointure (IS NULL), donc toutes les lignes pour lesquelles il n'y a pas d'article avec un état OPEN. Et le tour est joué ;)
ced