Bonjour,
En faisant un test, je me trouve devant un problème sur UNION que j'ai du mal à comprendre.
Pour moi, UNION ajoutait 2 ou n résultats de requêtes.
Hors, si je code comme suit:
J'obtiens un résultat de 10 lignes. Est-ce que ça ne devrait pas être 20 ? (Je sais, la requête n'a aucun sens, c'est juste pour l'exemple).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 WITH Cte(N) AS (SELECT TOP 10 numero FROM comclient WHERE cloture_auto = 1), Cte2 (N) AS (SELECT * FROM Cte) SELECT * FROM Cte2 UNION SELECT * FROM Cte2
Ensuite, je fais :
Résultat: 11 lignes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ... SELECT * FROM Cte UNION SELECT * FROM Cte2
Et pire ... si je l'exécute plusieurs fois de suite, je n'obtiens pas le même nombre de lignes à chaque fois . Ça va de 10 à 16 en passant par 11, 12, 14.
Et là, je comprends plus du tout
Il y a une logique sous-jacente que je n'ai pas vue ?
Partager