Bonjour,

J'ai un problème et je suis actuellement bloqué la dessus, j'espère que vous m'aiderez, mon problème est le suivant :

Je dois écrire en PL/SQL, une requette SQL qui fait une recherche (une sorte de moteur de recherche) sur plusieurs tables (au moins 8 => plusieurs jointures) sur des champs qui peuvent être NULL, vide, pleins ... je ne dois récupérer que la liste des id de la table mère (ROOT), voilà comment j'ai fait mais ça n'a pas marché :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
SELECT tableRoot.Id 
  FROM  table_root tableRoot,
        table_fille1 fille1,
        table_fille2 fille2,
        table_fille3 fille3,
        table_fille4 fille4,
        ...
        WHERE 
          tableRoot.champRoot1 LIKE '%i__var1%' AND
          tableRoot.champRoot2 = i__var2 AND
          tableRoot.champRoot3 = i__var3 AND 
          fille1.champfille1_1  = i__var4  AND
          fille1.champfille1_2 = i__var5  AND
          fille2.champfille2 LIKE   '%i__var6 %' AND
          fille3.champfille3 LIKE   '%i__var7 %' AND
          fille4.champfille4_1  LIKE   '%i__var8 %' AND
          fille4.champfille4_2  LIKE '%i__var9 %' AND
          ...
          -- Inner joins
          fille1.id = tableRoot.fk_id_1 AND
          fille2.id = tableRoot.fk_id_2 AND
          fille3.id = tableRoot.fk_id_3 AND
          fille4.id = tableRoot.fk_id_4
          ...;
Merci bcp,