求解,为什么ISNULL 函数没有被执行 ?是什么原因呢

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 ) 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

万千封印
浏览 401回答 2
2回答

不负相思意

以上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 ) PLEFT JOIN(SELECT ISNULL(NUM,0) ty_sum,RQ ,KSBM FROM ty_KSSCFSL_sum ) TON P.RQ = T.RQ AND P.KSBM = T.KSBM

慕婉清6462132

看不到更多信息,估计有以下两种可能:一,KSSCFSL_sum,ty_KSSCFSL_sum 两个表里面的NUM字段不是INTEGER型,因为ISNULL的两个参数类型一定要一致。二:NUM字段是String类型,并且是"NULL"字符串,而不是NULL。你试试看。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
MySQL