SQL子查询问题3

时间:2015-09-21 09:00:36

标签: mysql sql sql-server sqlite

我的SQL代码存在问题。

当我运行此代码时,我收到了这样的错误消息:

**

  

子查询返回的值超过1。这是不允许的   子查询跟随=,!=,<,< =,>,> =或当子查询用作   表达。

**

我不知道如何更正此代码来运行它?

有些人可以看一下并帮助我吗?

感谢您的帮助,

SELECT dbo.FRA$.[GUID], dbo.FRA$.[Last Name], 

dbo.FRA$.[First Name], dbo.FRA$.[HR Manager Last Name], 

dbo.FRA$.[HR Manager First Name], (SELECT dbo.FRA$.[Business Email Address] FROM dbo.FRA$ t WHERE t.[HR Manager ID] = t.[Emplid]) AS [HR Manager E-Mail],

dbo.LOC.Descr AS [COMPANY NAME], dbo.FRA$.[Location Code],

dbo.LOC.[ADDRESS], dbo.LOC.Postal, dbo.LOC.City, dbo.FRA$.[National ID], dbo.FRA$.[Current Employee Class Desc] AS [Current Empl Class],

dbo.FRA$.[Contract type description] AS [CONTRACT TYPE], dbo.FRA$.[Business Title],

CASE dbo.FRA$.[Current Employee Class Desc]
WHEN 'Operator' THEN 10
WHEN 'Clerical worker' THEN 22
WHEN 'Technician' THEN 32
WHEN 'Supervisor' THEN 33
WHEN 'Manager&Engineer' THEN 54
END AS [Salary brutto],

FORMAT(dbo.FRA$.[Birthdate],'yyyy-MM-dd') AS [Birth Date], FORMAT(dbo.FRA$.[Last Start Date],'yyyy-MM-dd') AS [Hire Date]

FROM dbo.FRA$  

INNER JOIN dbo.LOC 

ON dbo.FRA$.[Location Code] = dbo.LOC.[Location]

WHERE [HR Status] IN ('International Assignment','Active','Leave of Absence');

1 个答案:

答案 0 :(得分:0)

尝试替换

:%s/^([A-Z][0-9]+\|){3}//g

SELECT dbo.FRA$.[Business Email Address] FROM dbo.FRA$ t WHERE t.[HR Manager ID] = t.[Emplid]

从子查询返回的行只需要一行

相关问题