2013-08-13 12 views
5

Jak połączyć output dwóch lub więcej instrukcji , Mam wiele tabel, które mają pewne dane, które muszę fetch im, więc piszę wiele zapytania SELECT. Teraz chcę połączyć wyniki zapytań, więc co muszę zrobić? Chcę, aby wyjście było:Łączenie wyjścia z dwóch lub więcej instrukcji wyboru

t1.qty,t2.qty,t3.qty 
+0

Czy możesz pokazać nam swoje zapytania? I jaki jest twój oczekiwany wynik? –

+1

Czy patrzysz na "UNION" –

+0

Czy chcesz dołączyć do 3 tabel razem, lub łącząc 3 zestaw wyników z tymi samymi kolumnami? –

Odpowiedz

3

Dlaczego nie utworzyć wyciągu, który pobierze je wszystkie naraz?

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

Jedną z opcji byłoby:

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

Innym byłoby łączenie, pod warunkiem, że istnieje związek:

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 

Powyższe opcje byłyby do wyświetlania wyników w jednym rzędzie.

Może trzeba unii łączenie rzędów:

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

Znacznie więcej opcji, jeśli zdefiniować bardziej szczegółowe potrzeby

+0

col t1.qty, t2.qty, t3.qty i wiersz jako PUN, KOL, SOL – user2485642

+0

Co to jest PUN, KOL, SOL? –

+0

Myślę, że to są aliasy, których chce dla kolumn –

0

Zadania1 = "select top" & strmcount & "* od nregistration gdzie" & strtotal1
task2 = "wybierz top" & strfcount & "* od rejestracji, gdzie" & strtotal2

do wykonania równolegle

Powiązane problemy