[SQL] Tous les records d'une jointure pour 1 record de la table maitre
Bonjour à tous,
tout d'abord je m'excuse pour le manque de clarté de mon intitulé. Je vais être plus clair ici :-)
J'ai deux tables, A et B.
A contient plusieurs colonnes (col1, col2). col1 est la clé primaire.
B contient plusieurs colonnes (col1, col2, col3). col1 est une clé étrangère (de A).
A.col1 et B.col1 ne peuvent pas être null.
A.col2, A.col3, B.col2 et B.col3 peuvent être null.
Pour une clé primaire de A, je peux avoir des records dans B.
Mon but est de rapatrier pour 1 clé primaire de A n'ayant pas col2 et col3 null, l'ensemble des col2 et col3 (de B) n'étant pas null.
Il faut absolument que cette requête retourne quelque chose. Donc il faut trouver un A.col1 tel que A.col2 != NULL && (il existe au moins un record dans B tel que A.col1 == b.col1 && col2 != NULL && col3 != NULL).
La requête ci-dessous me donne presque ce que je veux, excepté qu'elle retourne le résultat pour tous les A.col1. Il faudrait limiter le résultat a 1 seul A.col1 ... Une idée ?
Code:
1 2 3 4 5 6 7 8 9 10 11
| SELECT A.col1
, A.col2
, B.col2
, B.col3
FROM A, B
WHERE A.col1 IS NOT NULL
AND A.col2 IS NOT NULL
AND A.col1 = B.col1
AND B.col2 IS NOT NULL
AND B.col3 IS NOT NULL
ORDER BY A.col1; |
J'espère que mes explications sont assez claires :-)
D'avance, je vous remercie.