2016-04-17 4 views
0

У меня есть один запрос, который возвращает count и некоторые столбцы из двух таблиц и другой запрос, который возвращает count и столбец из двух таблиц. Я хочу объединить эти два запроса, которые приводят к одной строке для каждого идентификатора. я попытался это:Как объединить два запроса, имеющих счет из разных таблиц и более чем один столбец

select 
(select a.column_1 as ID,a.column_2,COUNT(b.column_2) as Cnt1 
from 
    table_1 a left outer join table_2 b on a.ID=b.ID 
group by 
    a.column_1 as ID,a.column_2 
) 
where EXISTS 
(select a.column_1 as ID,COUNT(c.column_2) as Cnt2 
from 
    table_1 a left outer join table_3 c on a.ID=c.ID 
group by 
    a.column_1 
) 
+2

Просьба предоставить образцы данных, желаемые результаты и пометить вопрос с помощью базы данных, которую вы фактически используете. –

+0

Я хочу результат как ID column_2 Cnt1 Cnt2 – Juliee

ответ

0

, не зная вашу реальную схему ... на основе вашего запроса выборки, предполагая, что ваши внутренние запросы являются правильными (некоторыми незначительными ошибками синтаксиса). Возможно, вы захотите сделать что-то подобное.

select * 
FROM 
    (select a.column_1 as ID,a.column_2,COUNT(b.column_2) as Cnt1 
    from table_1 a left outer join table_2 b on a.ID=b.ID 
    group by a.column_1,a.column_2 
) T1 
INNER JOIN 
    (select a.column_1 as ID,COUNT(c.column_2) as Cnt2 
    from table_1 a left outer join table_3 c on a.ID=c.ID 
    group by a.column_1 
) T2 ON T1.ID = T2.ID 

sqlfiddle

Вы можете заменить select * с select T1.ID,T1.column_2,Cnt1,Cnt2 на основе ваших комментариев.

+0

Он работает .... Большое вам спасибо ...:) thanks alot – Juliee

Смежные вопросы