這個sql語句怎麼寫呢
表內容如下
cp_dm bm state sl
1234 a011 1 12
1234 a011 2 5
1234 a011 1 4
1234 a011 2 3
我要運算state(1)sl/(state(2)sl+state(1)sl)
(state(2)sl+state(1)sl)有可能為零,如如為零state(1)sl/(state(2)sl+state(1)sl)也為零
问题点数:0、回复次数:2Top
1 楼wonder01(一可)回复于 2003-03-04 09:08:39 得分 0
SELECT
CASE (state(2)sl+state(1)sl)
WHEN 0 THEN 0
ELSE state(1)sl/(state(2)sl+state(1)sl)
END AS 列名
FROM 表名Top
2 楼fxjpost(天外面還是天)回复于 2003-03-04 09:34:43 得分 0
這樣是不行的,可能還是要一個中間的臨時表才行,如
create #table(cp_dm,bm,sl)
insert into #table
select cp_dm,bm,
case when sum(sl)=0 then 1 else sum(sl) as sl
from table
select a.cp_dm,a.bm,a.sl/b.sl
from table a,#table b
where ......
這樣保証不會出現除數為零Top




