킴쏘영
818
2021-01-27 14:28:31 작성 2021-01-27 14:29:31 수정됨
4
197

쿼리 질문 드립니다 ㅜㅜ


mssl 인데요~!

한로우의 한 컬럼에

01,02,03

이렇게 콤마 구분자로 데이터가 들어가있고


코드 테이블에는

CDID  CDNM

01       아침

02       점심

03       저녁


이렇게 코드명이 명시되있는데.


01,02,03 을

아침,점심,저녁

으로 변환하는 쿼리가 있을까요?..

0
  • 답변 4

  • bluetang
    137
    2021-01-27 14:40:39
    쿼리로 가능한데 엄청 느려지는 쿼리죠. 조인하지 말고 데이터를 화면단에서 뿌릴때 처리하세요.
  • Dive_Drink_Develope
    6k
    2021-01-27 14:44:01

    Stored Procedure로 for / replace 문을 돌린다던가...

    STRING_SPLIT을 적용한다음에 join하고 group by + STRING_AGG (이건 sql server버전에 따라 다르네요 https://tipntech.tistory.com/13) 를 사용해서 원형으로 복구할수 있을것같네요.


  • erouse
    59
    2021-01-28 23:30:29

    db가 없어서 확인 못했어요 ㅎㅎㅎ;;


    select case when CDID  = '01' then CDNM end

              + ',' + case when CDID  = '02' then CDNM end

              + ',' + case when CDID  = '03' then CDNM end

    from table

  • Dive_Drink_Develope
    6k
    2021-01-29 10:25:31 작성 2021-01-29 10:26:41 수정됨

    erouse 케이스에 like를 쓰면 가능할 순 있겠네요 CDID가 세개만 있다면...ㅎㅎ

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