database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 7227 게시물 읽기
No. 7227
여러 레코드들을 하나의 컬럼으로 합치고 싶어요
작성자
바보온달
작성일
2020-11-26 11:08
조회수
1,407

고수분들께 좀 여쭤보고 싶은게 있어서 부탁드립니다.


현재 레코드가 


  번호    코드값

    1      ac1

    1      ac2

    2      et1

    2      et2


이렇게 되어있는데.. 이 데이터를


   번호   코드값

     1     ac1, ac2

     2     et1, et2


이렇게 나오게 하고 싶어요. 고수님들의 고견 부탁드립니다.

 

이 글에 대한 댓글이 총 2건 있습니다.

with tmp as ( 

    select 1 as id, 'aaa1' as val union all 

    select 1 as id, 'aaa2' as val union all 

    select 2 as id, 'bbb1' as val union all 

    select 2 as id, 'bbb2' as val 


select

    id, 

    string_agg(val, ',') as vals 

from tmp 

group by id 



    

    

.님이 2020-11-26 13:50에 작성한 댓글입니다. Edit

string_agg가 지원되는 버전이면 제일 깔끔하네요.

xml path를 사용하는 방법도 있네요.


with t as (

select 1 num, 'ac1' code

union all select 1, 'ac2'

union all select 2, 'et1'

union all select 2, 'et2'

)

SELECT 

    num, 

    STUFF(( 

        SELECT 

            ',' + code

        FROM 

            t b

        WHERE 

            b.num = a.num

            FOR XML PATH('') ),1,1,'') AS string

FROM 

    t a

GROUP BY num

 

정상규(pajama)님이 2020-11-26 14:32에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
7230행의 데이타를 원하는 만큼 나누어 여러개의 열로 표현할려 합니다. [6]
둥둥이
2021-01-05
1490
7229MSSQL 프로시져 템프테이블 문의 [1]
물어보자
2020-12-30
1359
7228쿼리 결과값을 다시 계산하고 싶어요 [5]
김우성
2020-12-27
1558
7227여러 레코드들을 하나의 컬럼으로 합치고 싶어요 [2]
바보온달
2020-11-26
1407
7226row count 조회시 실제 count와 결과값이 다릅니다. [2]
레인버그
2020-09-29
1574
7225alwayson구성시 계정 관리 [1]
초보
2020-07-27
1779
7224계층 구조에서 설정 적용하기 [1]
GOOD:)LUCK
2020-07-10
1882
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다