SQL Sever 에 서 는 SQL 문 구 를 사용 하여 중복 줄 데 이 터 를 한 줄 로 합 쳐 쉼표 로 구분 합 니 다.
DECLARE @T1 table
(
UserID int ,
UserName nvarchar(50),
CityName nvarchar(50)
);
insert into @T1 (UserID,UserName,CityName) values (1,'a',' ')
insert into @T1 (UserID,UserName,CityName) values (2,'b',' ')
insert into @T1 (UserID,UserName,CityName) values (3,'c',' ')
insert into @T1 (UserID,UserName,CityName) values (4,'d',' ')
insert into @T1 (UserID,UserName,CityName) values (5,'e',' ')
select * from @T1
-----
SELECT CityName,STUFF((SELECT ',' + UserName FROM @T1 subTitle WHERE CityName=A.CityName FOR XML PATH('')),1, 1, '') AS A
FROM @T1 A
GROUP BY CityName
----
SELECT B.CityName,LEFT(UserList,LEN(UserList)-1)
FROM (
SELECT CityName,(SELECT UserName+',' FROM @T1 WHERE CityName=A.CityName FOR XML PATH('')) AS UserList
FROM @T1 A
GROUP BY CityName
) B
stuff(select ',' + fieldname from tablename for xml path('')),1,1,'')
이 문장 은 여러 줄 의 fieldname 필드 의 내용 을 연결 하여 쉼표 로 구분 하 는 역할 을 합 니 다.for xml path 는 SQL Server 2005 이후 버 전이 지원 하 는 XML 생 성 방식 입 니 다.
stuff 함수 의 역할 은 문자열 의 맨 앞 에 있 는 쉼표 구분 자 를 제거 하 는 것 입 니 다.
효과 그림:
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.최근 redash에서 sql을 쓸 기회가 많고, 이런 쓰는 방법이 있었는지와 sql에 대해 공부를 다시하고 있기 때문에 배운 것을 여기에 씁니다. Redash란? 월별로 데이터를 표시하고 싶습니다 주별로 데이터를 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.