Select sql

blaskunk -  
coeus Messages postés 3021 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'aurais besoin d'aide concernant une rêquete SQL :

mon besoin :

j'ai une table qui contient des commandes. (tab1)
une autre qui contient un retour de fichier. (tab2)

Le lien : une commande doit avoir (après un jour) un enreg dans tab2.

le rapprochement se fait sur 3 champs de la tab1 (nommé f1,f2,f3)

je souhaiterais selectionner les commandes dont (au moins) un de ces trois codes là est absent dans tab2.

Je n'arrive pas à construire ma requête ...
Pouvez-vous m'aider ?

1 réponse

coeus Messages postés 3021 Date d'inscription   Statut Membre Dernière intervention   119
 
Quand un élément est absent de tab2, est-ce que ça signifie que tab2 a aussi les colonnes f1, f2 et f3 ? L'élément absent serait alors qu'une des trois colonnes est marquée comme NULL ou juste vide pour une entrée donnée ? Je supposerai ici que la valeur "à vide" est NULL.

Dans ce cas :

SELECT tab1.f1, tab1.f2, tab1.f3
FROM tab1
LEFT JOIN tab2 ON tab2.f1 = tab1.f1 AND tab2.f2 = tab1.f2 AND tab2.f3 = tab1.f3
WHERE tab2.f1=NULL
OR tab2.f2=NULL
OR tab2.f3=NULL

Ou quelque chose comme ça.
Qu'en penses-tu ?
0