读书人

求一条sql语句小妹在此多谢了

发布时间: 2012-01-06 22:55:18 作者: rapoo

求一条sql语句,小妹在此谢谢了

palce department 大箱箱量 (big) 小箱箱量(small) 理货等级(gread)

二期卡口 慈溪余姚拆箱点 0 98 C
二期卡口 慈溪余姚拆箱点 173 18 B
二期卡口 慈溪余姚拆箱点 20 30 D
二期卡口 慈溪余姚拆箱点 30 20 A
二期卡口 慈溪余姚拆箱点 30 20 A

招商 宁波 1820 D
招商 宁波 1820 A
招商 宁波 1820 D
招商 宁波 1820 B
招商 宁波 1820 C

这个我是

select b.palce,b.department,sum(b.big),sum(b.small),a.gread from a,b

我想得到这样的结果:
palce department 大箱箱量 (big) 小箱箱量(small) A B C D
二期卡口慈溪余姚拆箱点 253 186 100 191 98 50
招商 宁波 90 100 38 38 38 76


(理货等级有四个 A B C D )
大家有没有好办法呀

[解决办法]
SELECT palce, department,SUM(big),SUM(small),SUM(decode(gread, 'A ',big+small,0)),
SUM(decode(gread, 'B ',big+small,0)),SUM(decode(gread, 'C ',big+small,0)),SUM(decode(gread, 'C ',big+small,0)) FROM A


你写的sql我不知道b是什么意思?
select b.palce,b.department,sum(b.big),sum(b.small),a.gread from a,b

[解决办法]
可以用以下的sql语句来实现:
select a1.place,a1.department,a1.BigAmount,a1.SmallAmount,a1.A,b1.B,c1.C,d1.D from
(select place,department,BigAmount,SmallAmount,A from (
select place,department,sum(big) as BigAmount,sum(tsmall) as SmallAmount,
gread,sum(big)+sum(tsmall) as A from TestSQL where gread= 'A '
group by gread,place,department)) a1 left join (select B,place from (select place,department,


gread,sum(big)+sum(tsmall) as B from TestSQL where gread= 'B '
group by gread,place,department)) b1 on a1.place=b1.place left join (select C,place from (select place,department,
gread,sum(big)+sum(tsmall) as C from TestSQL where gread= 'C '
group by gread,place,department)) c1 on a1.place=c1.place left join (select D,place from (select place,department,
gread,sum(big)+sum(tsmall) as D from TestSQL where gread= 'D '
group by gread,place,department)) d1 on a1.place=d1.place


TestSQL表是根据上面的表来做的,我把两个表放在一起了,如果是两个表的话,梢等以下。。。

读书人网 >Java Web开发

热点推荐