首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

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

2012-01-06 
求一条sql语句,小妹在此谢谢了 palcedepartment大箱箱量(big)小箱箱量(small)理货等级(gread)二期卡口慈溪

求一条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表是根据上面的表来做的,我把两个表放在一起了,如果是两个表的话,梢等以下。。。

热点排行