【发布时间】:2018-02-03 18:35:27
【问题描述】:
我的查询需要一点帮助。我是子查询的新手。我想替换表中姓氏列中没有姓氏的空值的每一行,并输出所有没有姓氏的值。我收到一个错误,我不知道如何解决这个问题。将不胜感激任何帮助。
SELECT
Firstname,
ISNULL(dbo.Mechanics.LastName, 'No lastname') AS Lastname
FROM
dbo.Mechanics
WHERE
Lastname = (SELECT FirstName, Lastname
FROM Mechanics
WHERE LastName = 'No lastname');
我收到此错误:
消息 116,第 16 级,状态 1,第 4 行
不使用 EXISTS 引入子查询时,选择列表中只能指定一个表达式
【问题讨论】:
-
你可能想要
WHERE Lastname IS NULL -
仅供参考:错误消息是由于从子查询返回两列
FirstName和LastName造成的。仅支持单个表达式。如果你可以有多个表达式,... where LastName = FirstName, LastName意味着什么?
标签: sql sql-server tsql subquery