too_to
10
2019-06-12 16:57:52
6
212

[MS SQL] 복수의 컬럼의 데이터를 하나의 컬럼에 컴마로 구분하여 넣기


안녕하세요.

MS SQL 관련하여 문의 드립니다.

아래와 같은 테이블에 각 컬럼별로 데이터가 들어있을때,

ida1a2a3
123
2123
334

이를 다음과 같이 하나의 컬럼에 컴마로 구분된 데이터 셋으로 변환하는 방법이 궁금합니다.

ida
12,3
21,2,3
33,4

구글에 검색해 봤는데 오라클 db에 관련된 내용만 있는 것 같아서 문의드립니다.

감사합니다.

0
0
  • 답변 6

  • onimusha
    7k
    2019-06-12 17:01:20
    0
  • too_to
    10
    2019-06-12 17:15:24

    안녕하세요. 답변 감사드립니다.


    알려주신 예제의 결과에는 데이터가 콤마(,)로 구분되어 있지 않고, 결합되어 있는데요.(예: 123)

    혹시, 이를 1,2,3 처럼 콤마로 구분지을 수 있는 방법은 없을까요?


    감사합니다.

    0
  • bayleys
    1k
    2019-06-12 17:20:35

    concat을 중첩해서 ','도 붙여주면 됩니다.

    0
  • onimusha
    7k
    2019-06-12 17:21:34 작성 2019-06-12 17:21:58 수정됨

    다시보니 MSSQL 은 ISNULL() 이죠;;

    (mysql 으로 착각;;)

    CONCAT(',', ISNULL(컬럼, '')) .. 으로 응용하시면..??

    0
  • too_to
    10
    2019-06-12 17:35:14

    모두 답변 감사드립니다.


    답변 주신 내용들을 바탕으로 위 예제를 쿼리문에 적용해 보면 아래와 같이 될 것 같은데요.
    제가 제대로 이해한건가요?


    SQL과 친해지고 싶은데 어렵네요.
    친절한 설명 다시 한번 감사드립니다.


    SELECT id, CONCAT(ISNULL(a1, ","), ISNULL(a2, ","), ISNULL(a3,",")) AS a FROM table1



    0
  • bayleys
    1k
    2019-06-12 18:25:33

    CONCAT(CONCAT(CONCAT(A,B),C),D)

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.