[SQL] SQL 서버 : GROUP BY 절에 쉼표로 구분 된 값을 얻을 [중복]
SQLSQL 서버 : GROUP BY 절에 쉼표로 구분 된 값을 얻을 [중복]
나는 쿼리를 만들 찾고 있어요하지만 어떻게 든 난 그렇게 할 수없는입니다. 사람이 여기에 도움이 저를 기쁘게 할 수 있습니까?
원래 데이터
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 절을하려하지만, 다른 일이있을 경우 다음 나는 또한 그것을 구현하는 개방입니다. 난 정말이에 시간과 도움을 주셔서 감사합니다. 감사합니다.
해결법
-
==============================
1.이 시도:
이 시도:
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
-
==============================
2.
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)
from https://stackoverflow.com/questions/12668528/sql-server-group-by-clause-to-get-comma-separated-values by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL Server의 진수에서 0을 후행 제거 (0) | 2020.03.23 |
---|---|
[SQL] PostgreSQL의 기능의 언어 SQL 및 언어 plpgsql의 차이 (0) | 2020.03.23 |
[SQL] MySQL의에서 "전체 단어 일치"검색 (0) | 2020.03.23 |
[SQL] 값이 숫자는 MySQL의에있는 경우 감지 (0) | 2020.03.23 |
[SQL] MySQL의 - 조건부 외래 키 제약 조건 (0) | 2020.03.23 |