반응형
SQL Server : 쉼표로 구분 된 값을 가져 오는 GROUP BY 절
중복 가능성 :
SQL Server의 SQL group_concat 함수
쿼리를 작성하려고하는데 어떻게 든 그렇게 할 수 없습니다. 누구든지 여기서 나를 도울 수 있습니까?
원래 데이터
ID ReportId Email
1 1 a@a.com
2 2 b@b.com
3 1 c@c.com
4 3 d@d.com
5 3 e@e.com
로 그룹화하고 ReportId싶지만 모든 이메일은 쉼표로 구분되어야합니다. 따라서 결과는 다음과 같아야합니다.
ReportId Email
1 a@a.com, c@c.com
2 b@b.com
3 d@d.com, e@e.com
이를 수행하는 가장 좋은 방법은 무엇입니까?
나는 group by 절을 시도하고 있지만 다른 것이 있으면 그것을 구현할 수 있습니다. 시간을 내 주셔서 감사 드리며 도움을드립니다. 감사합니다.
이 시도:
SELECT ReportId, Email =
STUFF((SELECT ', ' + Email
FROM your_table b
WHERE b.ReportId = a.ReportId
FOR XML PATH('')), 1, 2, '')
FROM your_table a
GROUP BY ReportId
SQL 바이올린 데모
SELECT [ReportId],
SUBSTRING(d.EmailList,1, LEN(d.EmailList) - 1) EmailList
FROM
(
SELECT DISTINCT [ReportId]
FROM Table1
) a
CROSS APPLY
(
SELECT [Email] + ', '
FROM Table1 AS B
WHERE A.[ReportId] = B.[ReportId]
FOR XML PATH('')
) D (EmailList)
SQLFiddle 데모
반응형
'IT박스' 카테고리의 다른 글
| iPhone Simulator에 자체 서명 된 인증서를 추가 하시겠습니까? (0) | 2020.10.21 |
|---|---|
| 다시 시작하지 않고 vim 구성을 적용 할 수 있습니까? (0) | 2020.10.21 |
| matplotlib를 사용하여 다양한 범주 수준에 대해 다른 색을 플로팅합니다. (0) | 2020.10.21 |
| "설정"모듈을 사용하여 상수를 만드시겠습니까? (0) | 2020.10.21 |
| Bash 기록에 명령이 표시되지 않도록하려면 어떻게해야합니까? (0) | 2020.10.21 |