jxh2003zfr 发表于 2008-1-5 10:50

一个sql的问题,如何解决?

有一表tblA,结构如下
index     FldA     FldB     FldC     FldD    FldE     FldF... ...
1            30          30        50         15        30       55
2            40          80        60         43        33       30   
3            22          40        30         32        30       11
.
.
.
现要求出同一行中不等于 30 的各字段之和放到一个新字段中,比如:
index     FldA     FldB     FldC     FldD    FldE     FldF... ... SumFld
1            30          30        50         15        30       55    ... ... 120
2            40          80        60         43        33       30    ... ... 256
3            22          40        30         32        30       11    ... ... 135
.
.
.
请留意以上FldA       FldB         FldC       FldD       FldE       FldF...       ...   是不定数量的字段。
也就是说,已知本次使用的字段名称集合,这一次与下一次使用时字段数量或名称都不一样。
但这些字段名都是在同一表中的。

qlong0728 发表于 2008-1-7 17:41

用语言来建立删除表!

q123126 发表于 2008-1-8 10:14

如果字段是固定的,那么表test
          Index            FA                    FB             FC
        1        23        30        45
Select Sum(case when FA<>30 then FA else 0 end)+Sum(case when FB<>30 then FB else 0 end)+ Sum(case  When FC<>30 then FC else 0 end  ) from test

页: [1]

编程论坛