Mysql 如何组合来自不同表和多个列的具有count的两个查询

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

我有一个查询从两个表返回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
)
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