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条经验 获得超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条经验 获得超2个赞
看不到更多信息,估计有以下两种可能:
一,KSSCFSL_sum,ty_KSSCFSL_sum 两个表里面的NUM字段不是INTEGER型,因为ISNULL的两个参数类型一定要一致。
二:NUM字段是String类型,并且是"NULL"字符串,而不是NULL。
你试试看。
添加回答
举报
0/150
提交
取消