日期:2014-05-17  浏览次数:20449 次

两条记录的合并 成一条
通过一系列的查询 得到如下结果:
DNAME KESHI PRICE SUMPRICE
教育部 1课 156.53 NULL
人事部 人力资源课 428.36 NULL
管理部 1课 110.80 NULL
管理部 1课1 NULL 1755.17

想得到的结果是

教育部 1课 156.53 NULL
人事部 人力资源课 428.36 NULL
管理部 1课 110.80 1755.17

请问该怎么合并?


------解决方案--------------------
SQL code
select DNAME, KESHI, sum(isnull(PRICE,0), sum(isnull(SUMPRICE,0) from TB
group by DNAME, KESHI

------解决方案--------------------
SQL code
CREATE TABLE test
 (
    DNAME varchar(20),
    KESHI varchar(20),
    PRICE decimal ,
    SUMPRICE decimal
 )
INSERT INTO test
SELECT '教育部' ,'1课', 156.53 ,NULL
UNION ALL 
SELECT '人事部', '人力资源课', 428.36 ,NULL
UNION ALL 
SELECT '管理部' ,'1课',  110.80, NULL
UNION ALL 
SELECT '管理部' ,'1课', NULL, 1755.17

SELECT dname,keshi,SUM(price),SUM(SUMPRICE) FROM test
GROUP BY dname,keshi
/*
dname                keshi                                                        
-------------------- -------------------- --------------------------------------- ---------------------------------------
管理部                  1课                   111                                     1755
教育部                  1课                   157                                     NULL
人事部                  人力资源课                428                                     NULL
警告: 聚合或其他 SET 操作消除了 Null 值。

(3 行受影响)


*/