我的目的是显示他缺席的人名和所有原因(以字符串形式连接并显示)。
我使用以下查询来显示EmployeeName,ReasonForAbsence。我遇到连接和显示所有记录特定列“AbsenceReason”的问题。错误是语法near ='。 有关错误的更多信息 - 用于显示缺席原因部分。
SELECT
--Displaying Name,
EMP.NAME,
--Displaying Absence Reason
(
SELECT
@AbsenceReasons= @AbsenceReasons + ';' + REASONTEXT
FROM
ABSENCE
WHERE ID=EMP.ID
)
FROM
(
SELECT
*
FROM
Employees
) EMP
我错过了什么?
谢谢
答案 0 :(得分:1)
正如马丁所说,这是一个重复的问题,但是......
SELECT DISTINCT Absence.EmpId, Reasons.AllReasons
FROM Absence
CROSS APPLY ( SELECT ReasonText + ' ,'
FROM Absence EMP2
WHERE EMP2.EmpId= Absence.EmpId
FOR XML PATH('')
) Reasons ( AllReasons)