如何从不同的字段添加数量

时间:2014-04-23 19:18:28

标签: sql sql-server-2008-r2

我正在尝试从数据库中获取数量字段的总和

数据库设置为如此

jobno  raw1 qty1  raw2  qty2   raw3  qty3  raw4 qty4
  234    a     3    b      2      a     3     c    1

有没有办法在没有查询4次的情况下这样说。

select sum(qty1) from jtjobfil where raw1 = 'a'
select sum(qty2) from jtjobfil where raw2 = 'a'
select sum(qty3) from jtjobfil where raw3 = 'a'
select sum(qty4) from jtjobfil where raw4 = 'a'

1 个答案:

答案 0 :(得分:2)

可能不是改进,但它是一个查询。

select sum(case when raw1 = 'a' then qty1 else 0 end + 
    case when raw2 = 'a' then qty2 else 0 end +
    case when raw3 = 'a' then qty3 else 0 end +
    case when raw4 = 'a' then qty4 else 0 end) as sumqty
from jtjobfil

我认为表格应该重新设计为“垂直”