SELECT
CASE WHEN aa.itax is NULL THEN aa.fskje ELSE
aa.fskje / ( 1 + (tjob.itax / 100)) END nsjsk ,
(aa.fskje / 1.17) AS nsjsk1 ,
sccyd.*
FROM scCyd
INNER JOIN aa ON scCyd.ccydbh = aa.CCYDH
LEFT JOIN aaON mcyd.CCYDH = aa.ccydh
上面的语句想得到 nsjsk的值,发现总是得到 和fskje 一样的值,
研究一下发现, ( 1 + (tjob.itax / 100)) 默认为整形,把小数给滤掉了, 在100后面加上.00 就可以了
改为SELECT
CASE WHEN aa.itax is NULL THEN aa.fskje ELSE
aa.fskje / ( 1 + (tjob.itax / 100.00)) END nsjsk ,
(aa.fskje / 1.17) AS nsjsk1 ,
sccyd.*
FROM scCyd
INNER JOIN aa ON scCyd.ccydbh = aa.CCYDH
LEFT JOIN aaON mcyd.CCYDH = aa.ccydh