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

查询语句同时显示明细与合计解决方案

2012-02-22 
查询语句同时显示明细与合计比方说有一组数据产品编号数量拥有者110A110B110C25A25Bselect后的效果是产品

查询语句同时显示明细与合计
比方说有一组数据
产品编号 数量 拥有者
1 10 A
1 10 B
1 10 C
2 5 A
2 5 B

select后的效果是
产品编号 数量 拥有者
1 10 A
1 10 B
1 10 C
  30
2 5 A
2 5 B
  10

不要用union那种
我只有这么点分数了


[解决办法]

SQL code
CREATE TABLE T(A INT, B INT, C VARCHAR2(4));INSERT INTO T VALUES (1, 10, 'A');INSERT INTO T VALUES (1, 10, 'B');INSERT INTO T VALUES (1, 10, 'C');INSERT INTO T VALUES (2, 5, 'A');INSERT INTO T VALUES (2, 5, 'B');SELECT DECODE(GROUPING(A), 1, NULL, B) A,       DECODE(GROUPING(B), 1, SUM(B), B) B,       C  FROM T GROUP BY ROLLUP(A, (B, C)) HAVING GROUPING_id(a,B)<>3  ;返回:10    10    A10    10    B10    10    C    30    5    5    A5    5    B    10 

热点排行