sql开发参考,多表查询1

 1  select * from (
 2     select
 3     (select isnull(sum(Value),0) from table_Month d where etp.Id = d.Eid and d.Id >= 1701 and d.Id <= 1801 and d.AreaId in (11)) EtpSum,
 4     (select isnull(sum(Value),0) from table_Month d where d.Id >= 1701 and d.Id <= 1801 and d.AreaId in (11)) AreaTotal,
 5     isnull(hd.CountAsource,0) AsoValue,isnull(py.CountEsource,0) EsoValue,
 6     'Group' as GroupCode,etp.Gdp EtpDdp, etp.Id Eid, etp.Name EtpName, etp.ShortName EtpShortName,etp.AreaId
 7     from table_Etp etp
 8     left join(
 9         select count(*) CountAs,Eid from(
10             select count(Id) CountAS,Eid,TargetId from table_AS rpas where rpas.Id >= 170101 and rpas.Id <= 180101 group by Eid,TargetId
11         )a group by Eid
12     )hd on hd.Eid = etp.Id
13     left join(
14         select count(*) CountEs,Eid from(
15             select count(Id) CountES,Eid,TargetId from table_ES rpes where rpes.Id >= 170101 and rpes.Id <= 180101 group by Eid,TargetId
16         )a group by Eid
17     )py on py.Eid = etp.Id
18 )a where a.AreaId in (11)

 

posted @ 2018-03-04 20:17  回到梦想  阅读(101)  评论(0编辑  收藏  举报