我有下面给出的查询
SELECT
B.[Date],
B.[Detail],
B.[Number],
B.[Total],
CASE WHEN B.[ApId] != null THEN Ap.Name ELSE B.[Name]END Name,
FROM [Bacs] B
LEFT JOIN Table ap ON b.ApId= ap.Id
在Case When
查询中,我试图Name
根据b.ApId
值返回。但即使b.ApId
不是 null 我得到的B.Name
不是Ap.Name
.
谁能指出我哪里出错了。
!= 将评估值,而 NULL 不是值。
因此,您必须使用IS NULL
或IS NOT NULL
比较空值。
SELECT
B.[Date],
B.[Detail],
B.[Number],
B.[Total],
CASE WHEN B.[ApId] is not null THEN Ap.Name ELSE B.[Name]END Name,
FROM [Bacs] B
LEFT JOIN Table ap ON b.ApId= ap.Id
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句