Bonjour.

J'aimerai refaire un point avec les habitués du SQL et de la théorie des ensembles.

J'ai actuellement un problème avec mon moteur de base de données. (HyperFile)

Je vais d'abord poser le contexte :


Jusqu'ici pas de problème, tout est cohérent.
Mon problème maintenant :
La requête
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
SELECT FactureLigne_Qte20, FactureLigne_PxNetHT FROM FactureLigne
UNION SELECT FactureLigne_Qte20, FactureLigne_PxNetHT FROM _ArcFactureLigne
devrait pour moi renvoyer 316 lignes.
C'est à dire :
  • Les lignes de FactureLigne (316 enreg)
  • Auquelles on ajoute les lignes de _ArcFactureLigne (0 enreg)
  • et à cet ensemble de données résultat, on retire l'intersection de FactureLigne et _ArcFactureLigne (soit 0 lignes, pour ne pas les prendre deux fois)

Ce qui me chagrine, c'est que le moteur ne me renvoie que 256 lignes, soit le résultat de la requête suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
SELECT DISTINCT * FROM (
SELECT FactureLigne_Qte20, FactureLigne_PxNetHT FROM FactureLigne
UNION ALL SELECT FactureLigne_Qte20, FactureLigne_PxNetHT FROM _ArcFactureLigne
)
Donc voici ma question :
Qui a raison ?