我有下面的三个查询,我想将它们合并为一个查询,这样我就可以得到三列,其中包含按县划分的结果。我尝试对所有表进行内部联接,但得到的数据很差。如何组合这三个查询并按县分组?
select [Total DLL Children] = SUM(cd.NumberOfLanguageSpeakers)
from ClassroomDLL as cd
inner join Classrooms as c on cd.Classroom_Id = c.Id
inner join Sites as s on c.Site_Id = s.Id
inner join Profiles as p on s.Profile_Id = p.Id
inner join Counties as co on p.County_Id = co.Id
group by co.Description
select [Total Children] = (SUM(demo.NumberOfPreschoolers) + SUM(demo.NumberOfToddlers) + SUM(demo.NumberOfInfants))
from ClassroomDemographics as demo
inner join Classrooms as c on demo.Classroom_Id = c.Id
inner join Sites as s on c.Site_Id = s.Id
inner join Profiles as p on s.Profile_Id = p.Id
inner join Counties as co on p.County_Id = co.Id
group By co.Description
select co.Description from Counties as co
group by co.Description
请尝试这个。基本上,每个子查询,您也需要返回 County.Description,然后您可以将它们连接在一起。
SELECT A.Description, B.[Total DLL Children], C.[Total Children]
FROM (
select co.Description from Counties as co
group by co.Description
) A
LEFT JOIN
(
select co.Description, [Total DLL Children] = SUM(cd.NumberOfLanguageSpeakers)
from ClassroomDLL as cd
inner join Classrooms as c on cd.Classroom_Id = c.Id
inner join Sites as s on c.Site_Id = s.Id
inner join Profiles as p on s.Profile_Id = p.Id
inner join Counties as co on p.County_Id = co.Id
group by co.Description
) B
ON A.DESCRIPTION = B.DESCRIPTION
LEFT JOIN
(
select co.Description, [Total Children] = (SUM(demo.NumberOfPreschoolers) + SUM(demo.NumberOfToddlers) + SUM(demo.NumberOfInfants))
from ClassroomDemographics as demo
inner join Classrooms as c on demo.Classroom_Id = c.Id
inner join Sites as s on c.Site_Id = s.Id
inner join Profiles as p on s.Profile_Id = p.Id
inner join Counties as co on p.County_Id = co.Id
group By co.Description
) C
ON A.DESCRIPTION = C.DESCRIPTION
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)