복붙노트

[SQL] 행에서 쉼표로 구분 된 문자열을 얻을 [중복]

SQL

행에서 쉼표로 구분 된 문자열을 얻을 [중복]

무엇 쉼표로 구분 한 문자열 내 행을 연결하는 MS SQL 서버에서 쿼리 될 것 (처럼은 아래 그림 참조)

해결법

  1. ==============================

    1.사용 물건과 XML을위한 :

    사용 물건과 XML을위한 :

    (우리에게 당신의 미래의 질문에이 단계를 저장하십시오) 만들기 및 채우기 샘플 테이블

    DECLARE @T AS TABLE
    (
        Name varchar(10)
    )
    
    INSERT INTO @T VALUES
    ('John'),
    ('Vicky'),
    ('Sham'),
    ('Anjli'),
    ('Manish')
    

    쿼리 :

    SELECT STUFF((
        SELECT ',' + Name
        FROM @T
        FOR XML PATH('')
    ), 1, 1, '') As [output];
    

    결과 :

    output
    John,Vicky,Sham,Anjli,Manish
    
  2. ==============================

    2.당신의 열 이름은 이름이고 테이블 이름이 다음과 같은 쿼리를 사용할 수 있습니다 MYTABLE이라고 가정 :

    당신의 열 이름은 이름이고 테이블 이름이 다음과 같은 쿼리를 사용할 수 있습니다 MYTABLE이라고 가정 :

    DECLARE @strTemp VARCHAR(MAX)
    
    SET @strTemp = ''
    
    SELECT @strTemp  = @strTemp + ISNULL(NAME,'') + ','
    FROM MYTABLE
    
    --Remove last comma
    SET @strTemp = SUBSTRING(@strTemp ,1,LEN(@strTemp ) -1)
    
    --Get Result
    SELECT @strTemp 
    

    당신은 다음을 사용하여 널 (null) 기록을 필터링 할 수 있습니다

    SELECT @strTemp  = @strTemp + NAME + ','
    FROM MYTABLE
    WHERE NAME IS NOT NULL
    
  3. from https://stackoverflow.com/questions/41787834/get-a-comma-delimited-string-from-rows by cc-by-sa and MIT license