合并行
我的表示这样的
人员 工资
张三 10
李四 20
王五 10
111 30
222 40
333 50
444 123
AAA 10
BBB 20
CCC 30
DDD 40
要将张三李四的工资合并 并用张三的名字代替人员
将AAA,BBB,CCC,DDD的工资合并 用EEE来代替人员
结果
人员 工资
张三 30
王五 10
111 30
222 40
333 50
444 123
EEE 100
我之前用的方法是
select 张三 '人员',sum(工资) '工资' from tb where 人员='张三' or 人员='李四'
union all
select EEE '人员',sum(工资) '工资' from tb where 人员 IN [AAA,BBB,CCC,DDD]
union all
select * from tb where 人员 <>张三 and 人员 <>李四 and 人员 <>AAA and 人员 <>BBB and
人员 <>CCC AND 人员 <>DDD
这个方法很麻烦,有没有简单一点的
------解决方案--------------------你写的没问题,看上语句有点多,但是如果你要写的更加简单,可能就不容易理解了
------解决方案--------------------SELECT 人员,sum(工资) 工资
FROM (
SELECT CASE WHEN 人员 in('张三','李四') then '张三'
WHEN 人员 in('AAA','BBB','CCC','DDD') THEN 'EEE'
ELSE 人员 END 人员,工资
FROM [Table]
) AA
GROUP BY 人员