쿼리질문드립니다. 0 3 549

by DB초보자입니다 [2016.10.21 11:54:33]


 SELECT DECODE('A','','','옷')
                                ||DECODE('B','','','신발')||','
                                ||DECODE('','','','악세')||','
                                ||DECODE('C','','','구두')||','
                                ||DECODE('','','','명품')||','
                                ||DECODE('','','','기타')||','
                                ||DECODE('','','','미상')||','

from dual

우선 예제를 위해서 만들어보았습니다.

원하는 결과값은 

각 컬럼별로 값이 있으면 뿌려지게하고싶습니다.

옷,신발,구두 이런식으로 만들고싶은데

제가 짠걸로하면

옷신발,,구두,,,, 이런식으로 나와버리네요....

많은 조인부탁드리겟습니다. 

by Kyle [2016.10.21 12:23:07]
SELECT 
    REGEXP_REPLACE(
        NVL2('A', '옷'||',','')||
            NVL2('B', '신발'||',','')||
            NVL2('' , '악세'||',','')||
            NVL2('C', '구두'||',','')|| 
            NVL2('' , '명품'||',','')||
            NVL2('' , '기타'||',',''),
        '[,]$', 
        ''
    ) 
FROM DUAL

 


by DB초보자입니다 [2016.10.21 12:51:03]

감사합니다.많이배워가네요!!!!!!


by 마농 [2016.10.21 14:21:08]
SELECT SUBSTR( NVL2(c1, ',옷', '')
            || NVL2(c2, ',신발', '')
            || NVL2(c3, ',악세', '')
            || NVL2(c4, ',구두', '')
            || NVL2(c5, ',명품', '')
            || NVL2(c6, ',기타', '')
            || NVL2(c7, ',미상', '')
             , 2) x
  FROM (SELECT 'A' c1, 'B' c2, '' c3, 'C' c4, '' c5, '' c6, '' c7 FROM dual)
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입