SELECT P.RQ,P.KSBM,T.ty_sum ,P.ks_sum,(P.ks_sum - T.ty_sum ) sjKSSCFSL FROM(SELECT ISNULL(NUM,0) ks_sum,RQ ,KSBM FROM KSSCFSL_sum ) PLEFT JOIN(SELECT ISNULL(NUM,0) ty_sum,RQ ,KSBM FROM ty_KSSCFSL_sum ) TON P.RQ = T.RQ AND P.KSBM = T.KSBM
2 回答

不負相思意
TA貢獻1777條經(jīng)驗 獲得超10個贊
以上SQL中的isnull 只對該括號內的語句有用,但通過left join 後P表中有但T表中沒有的資料會自動用null替代,可將上述SQL修改為
SELECT P.RQ,P.KSBM,isnull(T.ty_sum,0) ,P.ks_sum,(P.ks_sum - isnull(T.ty_sum,0) ) sjKSSCFSL FROM
(SELECT ISNULL(NUM,0) ks_sum,RQ ,KSBM FROM KSSCFSL_sum ) P
LEFT JOIN
(SELECT ISNULL(NUM,0) ty_sum,RQ ,KSBM FROM ty_KSSCFSL_sum ) T
ON P.RQ = T.RQ AND P.KSBM = T.KSBM

慕婉清6462132
TA貢獻1804條經(jīng)驗 獲得超2個贊
看不到更多信息,估計有以下兩種可能:
一,KSSCFSL_sum,ty_KSSCFSL_sum 兩個表里面的NUM字段不是INTEGER型,因為ISNULL的兩個參數(shù)類型一定要一致。
二:NUM字段是String類型,并且是"NULL"字符串,而不是NULL。
你試試看。
添加回答
舉報
0/150
提交
取消