日期:2014-05-16  浏览次数:20848 次

求一条sql命令
A,B,C,D
9,0,1,0,
9,0,0,1,
9,1,0,0,

合成
A,B,C,D
9,1,1,1,


表里面像这种样子的记录行有很多,不只是9,所以不能用sum,其实0就是空值!
------最佳解决方案--------------------
select t.a,sum(nvl(t.b,0)),sum(nvl(t.c,0)),sum(nvl(t.d,0))
from table_t t
group by t.a
------其他解决方案--------------------
A,B,C,D
9,0,1,0,
9,0,0,1,
9,1,0,0,
8,0,1,0,
8,0,0,1,
8,1,0,0,
7,0,1,0,
7,0,0,1,
7,1,0,0,
6,0,1,0,
6,0,0,1,
6,1,0,0,


合成
A,B,C,D
9,1,1,1,
8,1,1,1,
7,1,1,1,
6,1,1,1,


 

------其他解决方案--------------------
没问题啊  还是这么写  你试试