读书人

有高手?疑的SQL句,能

发布时间: 2012-04-19 14:36:43 作者: rapoo

有高手????疑的SQL句,能解答???????????
是我的SQL句:
SELECT de09, de02, de03, de04, de05, de06, de07, de08, ce05, da02, da03, da24, ce06= (
CASE
WHEN da24 = ce12 then ce06
WHEN ce12 = da14 then ce06/da13
WHEN ce12 = da16 then ce06/da15
WHEN ce12 = da25 then ce06 * da26/da27
WHEN ce12 = da28 then ce06* da29/da30
ELSE ce06* da32/da33
END) , ca03 = (SELECT ca03 FROM tcm01 WHERE de05 = ca01)
FROM tdm05 LEFT JOIN tcm05 ON de02 = ce02 AND de05 = ce011
LEFT JOIN tdm01 ON de02 = da01
WHERE de01 = '12377777777777777777 ' ORDER BY de02
想在ce06/da13,ce06/da15,ce06 * da26/da27等做判被除da13,da15,da27等不可零
怎做呢?等待高手解答!

[解决办法]
SELECT de09, de02, de03, de04, de05, de06, de07, de08, ce05, da02, da03, da24, ce06= (
CASE
WHEN da24 = ce12 then ce06
WHEN ce12 = da14 and da13 > 0 then ce06/da13
WHEN ce12 = da16 and da15 > 0 then ce06/da15
WHEN ce12 = da25 and da27 > 0then ce06 * da26/da27
WHEN ce12 = da28 and da30 > 0 then ce06* da29/da30
ELSE ce06* da32/da33
END) ,
ca03 = (SELECT ca03 FROM tcm01 WHERE de05 = ca01)
FROM tdm05 LEFT JOIN tcm05 ON de02 = ce02 AND de05 = ce011 LEFT JOIN tdm01 ON de02 = da01
WHERE de01 = '12377777777777777777 ' ORDER BY de02


--这样看看
[解决办法]
加一个case when?

读书人网 >SQL Server

热点推荐