您的位置:程序门 -> java -> web 开发



极不好写的sql语句,高手请来....


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


极不好写的sql语句,高手请来....
发表于:2007-09-11 10:22:07 楼主
sales表结构:
字段包括:code,name,qty,price,year,month  
查询结果:code,name,2007年一月份的总数,2007年二月份的总数,二月比一月多增的数量
发表于:2007-09-11 10:51:431楼 得分:0
先顶一下
发表于:2007-09-11 12:17:412楼 得分:0
sales表结构:
字段包括:code,name,qty,price,year,month  
查询结果:code,name,2007年一月份的总数,2007年二月份的总数,二月比一月多增的数量

select   code,name,
sum(decode(month,1,qty,0))   一月份的总数,
sum(decode(month,2,qty,0))   二月份的总数,
sum(decode(month,2,qty,0))-sum(decode(month,1,qty,0))   二月比一月多增的数量
from   sales   where   year=2007   group   by   code,name
发表于:2007-09-11 13:55:583楼 得分:0
楼上的正解,顶~~~~~~~~~~~~~~
发表于:2007-09-11 15:47:024楼 得分:0
楼上的写的不错!
发表于:2007-09-11 16:46:125楼 得分:0
麻烦把sum(decode(month,1,qty,0))解释一下,decode()是怎么意思?这好象不是sql语法哟?
发表于:2007-09-11 16:48:396楼 得分:0
牛人,顶一个.
发表于:2007-09-11 16:49:467楼 得分:0
那是oracle的语法好不~!
发表于:2007-09-11 22:52:328楼 得分:0
麻烦把sum(decode(month,1,qty,0))解释一下,decode()是怎么意思?这好象不是sql语法哟?


decode(month,1,qty,0)   意思时month为1时,这个结果为qty,否则为0

然后在给他求和啊
发表于:2007-09-11 23:03:489楼 得分:0
不用decode也可以,就是麻烦些:
select   m1.code   as   code,m1.name   as   name,m1.sqty   as   sqty1,m2.sqty   sqty2,m2.sqty-m1.sqty   as   sqty3   from

(select   code,name,sum(qty)   as   sqty   from   sales  
where   year= '2007 '   and   moth= '01 '   group   by   code,name)   m1,

(select   code,name,sum(qty)   as   sqty   from   sales  
where   year= '2007 '   and   moth= '02 '   group   by   code,name)   m2  
)
where   m1.code=m2.code
and   m1.name=m2.name


快速检索

最新资讯
热门点击