을 사용하여 데이터베이스 쿼리를위한 통합 레코드 레코드에 "Urgent"속성이있는 경우 기본 값은 긴급 열에 특성 값이 표시되어야한다는 것입니다. 레코드의 속성 값이 "닫힘"이면 속성 값이 "닫힌"열에 표시되어야합니다.Sql
아래 질문이 있습니다. 내 문제는 내가 돌아오고있는 결과 중 동일한 RequesterID ("긴급"열과 "닫힌"열에 유효한 값이있는 레코드)가 두 개인 레코드가 있다는 것입니다. 내 문제는 이들이 필요하다는 것입니다. 두 개의 특정 레코드가 하나의 레코드로 표시됩니다.
아이디어가 있으십니까? 당신은 당신의 서브 요청에 가입해야합니다
SELECT DISTINCT
r.RequesterID,
sr.ModifiedDate,
p.FirstName + ' ' + p.LastName AS RequesterName,
CASE
WHEN sa.Attribute = 'Urgent' THEN sa.AttributeValue
ELSE NULL
END AS Urgent,
CASE
WHEN sa.Attribute = 'Closed' THEN sa.AttributeValue
ELSE NULL
END AS Closed
FROM
Requester AS r
INNER JOIN SubRequester AS sr
ON r.RequesterID = sr.RequesterID
INNER JOIN SubRequesterAttribute AS sa
ON sr.SubRequesterID = sa.SubRequesterID
CROSS JOIN Personnel AS p
WHERE
(r.UserID = p.ContractorID
OR r.UserID = p.EmployeeID)
AND
(sa.Attribute IN ('Urgent', 'Closed'))
GROUP BY r.RequesterID, sr.ModifiedDate, p.FirstName, p.LastName,
sa.Attribute, sa.AttributeValue
많은 편집이 있습니다. 그 중 일부를 clobbering해서 죄송합니다. SQL을 형식화해야했습니다. – Welbog