Interrogation sur la construction d'une requete
Bonjour à tous,
N'étant pas un expert en SQL, j'ai simplement besoin d'aide pour confirmer la construction d'une requête :
Alors voila, j'ai deux requêtes distinctes sur la même table suivante :
Code:
1 2 3 4 5 6 7
| SELECT DISTINCT Table1.Table1Id
FROM Table1
INNER JOIN Table2
ON Table1.Table1Id = Table2.Table1id
INNER JOIN Table3
ON Table3.Table3Id = Table2.Table3id
AND Table3.code = 'A04024' |
Code:
1 2 3 4 5 6 7 8 9
|
SELECT DISTINCT Table1.Table1Id
FROM Table1
INNER JOIN Table4
ON Table1.Table1Id = Table4.grd_Table1Id
INNER JOIN Table5
ON Table5.Table5Id = Table4.Table5Id
WHERE
Table5.num LIKE '04%' |
J'aimerai unir mes deux résultats en un seul, pour cela je peux utiliser UNION :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| SELECT DISTINCT Table1.Table1Id
FROM Table1
INNER JOIN Table2
ON Table1.Table1Id = Table2.Table1id
INNER JOIN Table3
ON Table3.Table3Id = Table2.Table3id
AND Table3.code = 'A04024'
UNION
SELECT DISTINCT Table1.Table1Id
FROM Table1
INNER JOIN Table4
ON Table1.Table1Id = Table4.grd_Table1Id
INNER JOIN Table5
ON Table5.Table5Id = Table4.Table5Id
WHERE
Table5.num LIKE '04%' |
Enfin j'aimerai obtenir le meme résultat mais sans utiliser la clause UNION, alors j'utilise le left outer join comme cela :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| SELECT DISTINCT Table1.Table1Id, num
FROM Table1
LEFT OUTER JOIN Table2
ON Table1.Table1Id = Table2.Table1id
LEFT OUTER JOIN Table3
ON Table3.Table3Id = Table2.Table3id
LEFT OUTER JOIN Table4
ON Table1.Table1Id = Table4.grd_Table1Id
LEFT OUTER JOIN Table5
ON Table5.Table5Id = Table4.Table5Id
WHERE
Table3.code = 'A04024'
OR
Table5.num LIKE '04%' |
Selon vous est-ce la bonne solution ?
Merci d'avance pour votre aide