我正在尝试选择一个职位,然后选择它旁边的报告行。
我的查询是:
SELECT (SELECT pos.PositionId
FROM PositionData pos
WHERE pos.PositionId = 1234) as [Topmost],
(SELECT pos.PositionId
FROM PositionData pos
WHERE pos.pdOpsReportLine = 1234) as [Reportline]
我得到的错误是:
Msg 512, Level 16, State 1, Line 1
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
现在我知道这个错误是什么意思了。
但我不想使用 TOP 语句,因为我希望在第二列中返回行。
注意:以下语句应该是 sql server 中的列。
我想要的是这样的:
Topmost Reportline
1234 2345
3456
4567
5678
我不想要的是:
Topmost
1234
2345
3456
4567
5678
其中 topmost 是最优秀的员工,例如 CEO,reportline 是向他汇报的人。