注册 登录
编程论坛 SQL Server论坛

新手求帮忙-SQL取数问题

acbbca 发布于 2010-10-21 13:55, 511 次点击
假如数据量很大,下面有限列举:
F_KMBH                 F_KMJE
1001                   1000
10010010                200
10010020                200
100101000100            200
100101000200            400
2001                   2000
20010100               1000
200101000100            500
200101000200            100
200101000300            400
20010200               1000
怎么通过select取数,实现F_KMBH前8位数,如果超过8位,则前8位相同的F_KMBH求和
结果:
1001                 1000
10010010              200
10010020              200
10010100              600
2001                 2000
20010100             1000
20010200             1000            
1 回复
#2
aei1352010-10-21 15:16
SELECT F_KMBH,F_KMJE FROM XXX WHERE LEN(F_KMBH)<=8
UNION
SELECT LEFT(F_KMBH,8),SUM(F_KMJE) FROM XXX WHERE LEN(F_KMBH)>8 GROUP BY LEFT(F_KMBH,8)
1