Mysql 如何组合来自不同表和多个列的具有count的两个查询
我有一个查询从两个表返回count和一些列,另一个查询从两个表返回count和一列。 我想将这两个查询组合起来,结果是每个id只有一行。 我试过这个:Mysql 如何组合来自不同表和多个列的具有count的两个查询,mysql,sql-server,Mysql,Sql Server,我有一个查询从两个表返回count和一些列,另一个查询从两个表返回count和一列。 我想将这两个查询组合起来,结果是每个id只有一行。 我试过这个: 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 ) wh
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
)
在不了解实际模式的情况下……基于示例查询,假设内部查询是正确的(一些小语法错误)。你可能想做这样的事情
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
根据您的评论,您可能希望将
select*
替换为select T1.ID,T1.column_2,Cnt1,Cnt2
。请提供示例数据、所需结果,并用实际使用的数据库标记问题。我希望结果作为ID column_2 Cnt1 Cnt2