读书人

请问一个sql联合查询group by的有关问

发布时间: 2012-10-12 10:17:04 作者: rapoo

请教一个sql联合查询group by的问题
我用这个联合查询得出下面的结果

SELECT A.PARNUM,A.PARUNIT,b.id,c.cbzj,d.sbmoney,d.id as id2
FROM ysyfmoney A
left outer JOIN HT_INDEX B ON(RTRIM(A.PARUNIT)=RTRIM(B.XYYF))
full outer join ht_cdzl c on (b.id=c.id)
full outer join ht_sbcg d on (b.id=d.id)
where (b.httype ='1' or b.httype ='5') and b.htzt = '2' and datediff ( day , b.xyqxd , GETDATE () ) < 0

parnum parunit id cbzj sbmoney id2
7072花琴 57 15000NULLNULL
7072花琴 13350000NULLNULL
7089江苏菜根香餐饮有限公司 4530000NULLNULL
7089江苏菜根香餐饮有限公司 12145000NULLNULL

现在我想得出下面的结果请问该怎么修改我的查询语句

parnum parunit countid sumcbzj sbmoney countid2
7072花琴 2 65000 0 0
7089江苏菜根香餐饮有限公司 2 750000 0

[解决办法]

SQL code
select parnum, parunit,count(id) countid,sum(cbzj) sumcbzj,sum(sbmoney) sbmoney,count(id2) countid2 from (SELECT A.PARNUM,A.PARUNIT,b.id,c.cbzj,d.sbmoney,d.id as id2  FROM ysyfmoney A  left outer JOIN HT_INDEX B ON(RTRIM(A.PARUNIT)=RTRIM(B.XYYF))  full outer join ht_cdzl c on (b.id=c.id)  full outer join ht_sbcg d on (b.id=d.id)  where (b.httype ='1' or b.httype ='5') and b.htzt = '2' and datediff ( day , b.xyqxd , GETDATE () ) < 0  )agroup by parnum, parunit 

读书人网 >SQL Server

热点推荐