create TABLE TB(名称 VARCHAR(1) , 出版商 VARCHAR(10),  价格1  INT, 价格2 INT)
INSERT TB
SELECT 'a',  '北京',  11,  22 UNION ALL
SELECT 'a',  '北京',  3,   13 UNION ALL
SELECT 'a',  '四川',  22,  33 UNION ALL
SELECT 'b',  '四川',  12,  23 UNION ALL
SELECT 'b',  '四川',   2,   3 UNION ALL
SELECT 'b',  '北京',  10,  20 UNION ALL
SELECT 'b',  '昆明',  20,  30

SELECT CASE WHEN 名称 IS NULL THEN '合計' ELSE
       CASE WHEN 出版商 IS NULL THEN '' ELSE 名称 END END AS 名称,
     
 CASE WHEN 名称 IS NULL THEN '' ELSE
       CASE WHEN 出版商 IS NULL THEN '小計' ELSE 出版商 END END AS 出版商,
       SUM(价格1) AS 价格1,SUM(价格2) AS 价格2
FROM TB GROUP BY 名称,出版商 WITH ROLLUP

posted on 2009-02-04 13:53  乐翻天  阅读(146)  评论(0)    收藏  举报