A表:... depsMoney merchantcode appid(行业类型) ...
B表:... bsasMoney merchantcode ...
C表:... merchantcode merchantname appid appname...
三表联合查询得到如下类型列表:
appid appname depsRows(A表appid类型总条数) bsaRows(B表appid类型总条数) depsMoneys(A表appid类型总金额) bsaMoneys(B表appid类型总条数)
------解决方案--------------------
select a.appid,c.appname,count(a.aapid),count(b.appid),sum(a.depsMoney).sum(b.bsasMoney)
from
a inner join b on a.xx=b.xx
inner join c on a.xx=c.xx
group by
a.appid,c.appname
------解决方案--------------------
select * from
(
select COUNT(*) as [value],'bsaRows' as [type],appid,appname from B
inner join C on B.merchantcode=C.merchantcode
group by appid,appname
union all
select SUM(bsasMoney) as [value],'bsasMoney' as [type],appid,appname from B
inner join C on B.merchantcode=C.merchantcode
group by appid,appname
union all
select COUNT(*) as [value],'depsRows' as [type],appid,appname from A
inner join C on A.merchantcode=C.merchantcode
group by C.appid,appname
union all
select SUM(depsMoney ) as [value],'depsMoneys' as [type],appid,appname from A
inner join C on A.merchantcode=C.merchantcode
group by C.appid,appname
) t pivot
(
sum([value]) for [type] in ([depsRows],[bsaRows],[depsMoneys],[bsasMoney])
)
as pvt