牛魔王的故事
2022-01-14 15:11:44
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 回答

GCT1015
TA貢獻1827條經(jīng)驗 獲得超4個贊
以上SQL中的isnull 只對該括號內(nèi)的語句有用,但通過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

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