Salut!
Je coince sur une requete SQL, j'ai beau tripoté mon code mais toujours rien...

SELECT fields... 
FROM table1
LEFT JOIN table2 ON table1.key = table2.table1_foreignkey
WHERE table1.field = table4.field

Le truc c'est que avec l'operateur = ca marche tres bien. Mais moi cque jveux, cest plutot les resultats inverses... Des idees?
Merci!

3 réponses


Damarus
Réponse acceptée

Salut,

SELECT fields... 
FROM table1
LEFT JOIN table2 ON table1.key = table2.table1_foreignkey
WHERE table1.field NOT IN (table4.field, ...)

ou

SELECT fields... 
FROM table1
LEFT JOIN table2 ON table1.key = table2.table1_foreignkey
WHERE table1.field <> (table4.field, ...)

Si tu veux en savoir plus :
http://www.techonthenet.com/sql/not.php
http://stackoverflow.com/questions/6156979/sql-where-condition-not-equal-to

Huggy
Réponse acceptée

Pour avoir tous les éléments de la table1 qui ne sont pas liés à la table2

SELECT fields...
FROM table1
LEFT JOIN table2 ON table1.key = table2.table1_foreignkey
WHERE table2.table1_foreignkey IS NULL

NULL est assez particulier, il ne faut pas le tester avec '=' mais avec IS ou IS NOT

Ça marche! Grand merci a vous!