首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

一条查询语句。

2013-01-01 
一条查询语句。在线等。A表 id,subid,paysubidB表 id,subid,itemname,fundsC表 id,paysubid,payitemname,pay

一条查询语句。在线等。
A表 id,subid,paysubid
B表 id,subid,itemname,funds
C表 id,paysubid,payitemname,payfunds

A表数据: 1,3126,3319
B表数据: 1,3126,水费,7600
B表数据: 2,3126,电费,3000

C表数据:1,,3319 ,水费,200
C表数据:2,,3319 ,电费,300
C表数据:3,,3319 ,水费,500
C表数据:4,,3319 ,电费,300
C表数据:5,,3319 ,办公费,1000

想求出来的数据是
---------------------------
水费   7600 700
电费   3000 600
办公费 0    1000
语句应该怎么写呢。
[解决办法]
select c.payitemname,b.funds,sum(c.payfunds)
from c left join b on c.payitemname=b.itemname
group by c.payitemname,b.funds
[解决办法]
select * from (
(select itemname from b
union
select distinct payitemname from c)) a1
left join
(select itemname,sum(funds) from b group by itemname) a2 on a1.itemname=a2.itemname
left join
(select payitemname,sum(payfunds) from b group by payitemname) a3 on a1.itemname=a3.payitemname

热点排行