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''这个不是一个表的同一个字段吗?
请大家讲详细点
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''这个不是一个表的同一个字段吗?
请大家讲详细点
IsNull(A.cBAccounter, N'') = N''
--当cBAccounter为null时,替换为空字符。。再比较是等于空字符and--是错误的 IsNull(B.cBAccounter, N'') <> N''
--当cBAccounter为null时,替换为空字符。。再比较不等于空字符
IsNull(A.cBAccounter, N'') = N''
-- A.cBAccounter 为 null 或 等于空串''IsNull(B.cBAccounter, N'') <> N''
-- A.cBAccounter 不为 null 且 不等于空串''两个矛盾地条件在一起相当于
1=2 -- 没有任何记录同时满足这两个条件