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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : 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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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