Select sql

blaskunk -  
coeus Messages postés 3296 Statut Membre -
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

  1. coeus Messages postés 3296 Statut Membre 120
     
    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