【发布时间】:2014-08-14 13:52:16
【问题描述】:
以下查询可以(错误地)举例说明我正在尝试做的事情
SELECT * FROM Table1
WHERE User IN
(CASE (SELECT Username From Table2 Where Table2.ID = 1)
WHEN IS NULL THEN NULL
ELSE (SELECT Username From Table2 Where Table2.ID = 1) END)
由于User = NULL 与User IS NULL 不同,因此上述语法将不起作用。有没有办法做到这一点?如果Table2中有记录,我不想抢NULLS。
例如,
表1
ID User
1 Elias
2 NULL
表2
ID Username
1 Elias
2 NULL
我希望上面的选择返回以下记录集
ID User
1 Elias
如果我在表 2 中查找 ID 2,我会想要以下记录集
ID User
2 NULL
【问题讨论】:
-
请描述你真正想做的事情。如果你的英语不好(即使是!),样本数据和期望的结果真的很有用。
-
@GordonLinoff 我有点急于发布这个问题。我添加了专栏并(希望)添加了一个更全面的标题。
标签: sql sql-server tsql syntax null