web-dev-qa-db-fra.com

Combinaison de la sortie de deux ou plusieurs instructions select

Comment combiner output de deux ou plusieurs instructions SELECT? J'ai plusieurs tables sur lesquelles j'ai besoin de fetch des données, aussi j'écris plusieurs requêtes SELECT. Maintenant, je veux combiner le résultat des requêtes, alors que dois-je faire? Je veux que la sortie soit: 

t1.qty,t2.qty,t3.qty 
5
user2485642

Une option serait:

SELECT (SELECT SUM(qty) FROM Table1 WHERE ...),
       (SELECT SUM(qty) FROM Table2 WHERE ...),
       (SELECT SUM(qty) FROM Table3 WHERE ...)

Un autre serait en train de s’inscrire, à condition qu’il existe un lien:

SELECT * 
FROM   (SELECT ID,SUM(qty) FROM Table1 GROUP BY ID) T1
       JOIN (SELECT ID,SUM(qty) FROM Table2 GROUP BY ID) T2
           ON T1.ID = T2.ID
       JOIN (SELECT ID,SUM(qty) FROM Table3 GROUP BY ID) T3
           ON T1.ID = T3.ID

Les options ci-dessus consisteraient à afficher les résultats dans une ligne.

Vous aurez peut-être besoin de l'union pour combiner des lignes:

SELECT qty FROM Table1
UNION
SELECT qty FROM Table2
UNION
SELECT qty FROM Table3

Beaucoup plus d'options si vous définissez des besoins plus spécifiques

17

Pourquoi ne pas créer une déclaration qui ira les chercher tous en même temps?

SELECT tableA.data1, tableB.data2 FROM tableA, tableB WHERE <condition here>
3
bry

task1 = "select top" & strmcount & "* from nregistration where" & strtotal1
task2 = "select top" & strfcount & "* from nregistration où" & strtotal2

faire exécuter en parallèle

0
user7481218