您的位置:首页 > 数据库

实际——如何给SQL查询添加合计行(sqlserver2008。但是db2的case when 语句end后不能添加其他字段)

2014-12-17 14:10 615 查看
文章来源:http://database.51cto.com/art/201009/227645_2.htm



由于要统计合计以及小计,不能简单的用nvl来产生"合计"了,要用grouping函数,来判断者某行是否有rollup产生的合计行,

select

case when grouping(emp_id)=1 and grouping(product_id)=1 then '合计' else emp_id end emp_id,

case when grouping(emp_id)=0 and grouping(product_id)=1 then '小计' else procudt_id end product_id,

sum(qty) qty

from t_test

group by rollup(emp_id,product_id)


注意,grouping(emp_id)=1,说明是有rollup函数生成的行,0为数据库本身有的行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: