select * from SaleBillVouchs A 
Inner Join SaleBillVouchs B On A.SBVID = B.SBVID 
Inner Join SaleBillVouch C On A.SBVID = C.SBVID
Where IsNull(A.cBAccounter, N'') = N'' And IsNull(B.cBAccounter, N'') <> N''
And A.bCosting = 1 And B.bCosting = 1请问大家这句话的意思是什么,为什么SaleBillVouchs 用了两次,
Where IsNull(A.cBAccounter, N'') = N'' And IsNull(B.cBAccounter, N'') <> N''这个不是一个表的同一个字段吗?
请大家讲详细点

解决方案 »

  1.   


    IsNull(A.cBAccounter,   N'')   =   N''
    --当cBAccounter为null时,替换为空字符。。再比较是等于空字符and--是错误的 IsNull(B.cBAccounter,   N'')   <>   N'' 
    --当cBAccounter为null时,替换为空字符。。再比较不等于空字符
      

  2.   


    IsNull(A.cBAccounter,   N'')   =   N''
    -- A.cBAccounter 为 null 或 等于空串''IsNull(B.cBAccounter,   N'')   <>   N'' 
    -- A.cBAccounter 不为 null 且 不等于空串''两个矛盾地条件在一起相当于
    1=2 -- 没有任何记录同时满足这两个条件