> 데이터 베이스 > MySQL 튜토리얼 > SQL에서 일치하는 ID를 기반으로 레이블을 어떻게 연결할 수 있습니까?

SQL에서 일치하는 ID를 기반으로 레이블을 어떻게 연결할 수 있습니까?

Patricia Arquette
풀어 주다: 2024-12-30 22:06:15
원래의
720명이 탐색했습니다.

How Can I Concatenate Labels Based on Matching IDs in SQL?

ID를 기준으로 값 연결

동일한 ID를 가진 여러 행을 결합하고 해당 레이블을 연결하는 제공된 작업을 해결하려면 다음을 활용하세요. 다음 SQL 쿼리:

declare @T table(Response_ID int, Label varchar(50))
insert into @T values
(12147,          'It was not clear'),
(12458,          'Did not Undersstand'),
(12458,          'Was not resolved'),
(12458,          'Did not communicate'),
(12586,          'Spoke too fast'),
(12587,          'Too slow')

select T1.Response_ID,
       stuff((select ','+T2.Label
              from @T as T2
              where T1.Response_ID = T2.Response_ID
              for xml path(''), type).value('.', 'varchar(max)'), 1, 1, '') as Label
from @T as T1
group by T1.Response_ID
로그인 후 복사

쿼리:

  • @T는 Response_ID 및 Label 열이 있는 입력 테이블을 나타냅니다.
  • 데이터는 @T에 삽입되어 쿼리의 시작점 역할을 합니다.
  • 첫 번째 하위 쿼리는 각 Response_ID에 대한 Label 값을 검색하고 이를 쉼표로 연결합니다. FOR XML 절은 XML 문자열을 생성한 다음 VALUE('','VARCHAR(MAX)') 표현식을 사용하여 단일 문자열로 변환합니다.
  • 외부 쿼리는 결과를 Response_ID별로 그룹화하고 STUFF를 사용합니다. ()를 사용하여 결합된 Label 값을 Response_ID와 연결합니다.
  • 마지막으로 각 고유 항목에 대해 연결된 값을 표시합니다. 응답_ID.

위 내용은 SQL에서 일치하는 ID를 기반으로 레이블을 어떻게 연결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿