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 ?
J'espère que mes explications sont assez claires :-)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
D'avance, je vous remercie.
Partager