我正在尝试(选择)查询同一个表中的上一个(选择)查询。
我在下面尝试了这个;
CREATE PROCEDURE dbo.strprcReturnEmpDetails(@EmpID VARCHAR(25))
AS
SELECT [Name],
Role,
Email,
Department,
ReportingAuthority,
DomainID,
ReportsTo,
(
SELECT DISTINCT
EmpID
FROM Login
WHERE [Name] = ReportsTo
) AS approverEmpid
FROM Login
WHERE EmpID = 288;
SET NOCOUNT ON;
RETURN;
答案 0 :(得分:1)
我相信你会错过子查询中的别名以使其工作。您的子查询返回多个值,您需要将其作为依赖子查询,如下所示:
SELECT [Name], Role, Email, Department, ReportingAuthority,DomainID,ReportsTo,
(
select distinct EmpID
from Login l2
where l2.Name = l1.ReportsTo
) as approverEmpid
FROM Login l1
WHERE EmpID=288
如果Name
表中的Login
是唯一的,那么这应该有用。