2013-08-13 1 views
5

Как объединить output из двух или более операторов SELECT, у меня есть несколько таблиц, которые имеют некоторые данные, которые мне нужны, чтобы они fetch, поэтому я пишу несколько запросов SELECT. Теперь я хочу совместить результат запросов, и что мне нужно делать? Я хочу, чтобы выход был следующим:Сочетание вывода двух или более операторов выбора

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

Можете ли вы показать нам свои вопросы? И каков ваш ожидаемый результат? –

+1

Вы смотрели 'UNION' –

+0

Вы смотрите на объединение трех таблиц или объединение трех результатов с одинаковыми столбцами? –

ответ

3

Почему бы не создать заявление, которое выведет их все сразу?

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

Один из вариантов:

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

Еще бы присоединиться, при условии, что есть ссылка:

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 

Вышеуказанные варианты будут отображать результаты в одной строке.

Вам может понадобиться объединение для объединения строк:

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

гораздо больше вариантов, если вы определить более конкретные потребности

+0

col t1.qty, t2.qty, t3.qty и строку как PUN, KOL, SOL – user2485642

+0

Что такое PUN, KOL, SOL? –

+0

Я думаю, что это псевдонимы, которые он хочет для столбцов –

0

task1 = "выберите верхний" & strmcount & "* от nregistration где" & strtotal1
task2 = "select top" & strfcount & "* от регистрации, где" & strtotal2

выполнить выполнение на параллельном