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

请教一行含字母与数字的多列数据求和
本帖最后由 u012611754 于 2013-10-29 16:20:14 编辑

CREATE TABLE ats_test
  (
     empcode      NVARCHAR(40),
     Day_01       NVARCHAR(10),
     Day_02       NVARCHAR(10),
     Day_03       NVARCHAR(10),
     Day_04       NVARCHAR(10),
     Day_05       NVARCHAR(10),
     Day_06       NVARCHAR(10),
     Day_07       NVARCHAR(10),
     Day_08       NVARCHAR(10),
     Day_09       NVARCHAR(10),
     Day_10       NVARCHAR(10)
  ) 

insert into ats_test values ('EAA45463','N4/D2/S2','N4/D2/S2','L7.5','N7.5','N7.5','N7.5','N7.5','N7.5','N7.5','N7.5')
insert into ats_test values ('EAA81137','X','L8','L8','N7.5','N7.5','N7.5','X','X','X','N6.5')

求高手们指导下,如何统计一行数据中Day_01~Day_10列中第一个字母相同的数据的数字部分和?
其中比较特殊的是一个字段数据可以是'N4/D2/S2'
我想做个视图,对每个人做统计,统计信息的列名就为empcode、D、L、N、S、X

期望处理前样子:
empcode  | Day_01   | Day_02    | Day_03  | Day_04  | Day_05  | Day_06  | Day_07  | Day_08  | Day_09  | Day_10
EAA45463 | N4/D2/S2 | N4/D2/S2  | L7.5    | N7.5    | N7.5    | N7.5    | N7.5    | N7.5    | N7.5    | N7.5
EAA81137 | X        | L8        | L8      | N7.5    | N7.5    | N7.5    | X       | X       | X       | N6.5

处理后样子:
empcode   | D  | L    | N     | S  | X
EAA45463  | 4  | 7.5  | 60.5  | 4  | 0


------解决方案--------------------
CREATE TABLE ats_test
(
 empcode      NVARCHAR(40),
 Day_01       NVARCHAR(10),
 Day_02       NVARCHAR(10),
 Day_03       NVARCHAR(10),
 Day_04