Background Image

FORUM

조회 수 364 추천 수 0 댓글 4
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부



* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
windows 10 64bit
CUBRID Ver.
[cubrid_rel] 수행 결과
CUBRID TOOL Ver.
10.1.0.0003
응용 환경(API)
java 

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
group_concat 함수를 이용하여 데이터를 ,로 합쳐서 표시하여 해당 데이터를 개발에 사용하려 합니다.


여기서 데이터가 없을때에 구분자가 붙지않는다는것인데요


데이터가 없을때도 구분자와 아무문자열을 붙여서 표시를 할수 있을까요 ?


SELECT

             CAST(nvl(A.kind, '분류없음') AS VARCHAR(50)) as comkindtemp_gubun

                ,   B.NOTICER 

                ,   B.NOTICER_CNT 

            , DECODE (A.kind,'음악',1,'영화',2,'방송',3,'출판',4,'게임',5,'만화',6,'SW',7) AS ordercount

FROM (

SELECT '음악' AS kind FROM db_root

UNION

SELECT '영화' AS kind FROM db_root

UNION

SELECT '방송' AS kind FROM db_root

UNION

SELECT '출판' AS kind FROM db_root

UNION

SELECT '게임' AS kind FROM db_root

UNION

SELECT '만화' AS kind FROM db_root

UNION

SELECT 'SW' AS kind FROM db_root

) A LEFT OUTER JOIN 

          (

          SELECT /*getInfrAcctGenreList*/

WORK_CRNT_CLS_ID,

WORK_CLS_NM,

SUBSTRING_INDEX(GROUP_CONCAT(NOTICER),',',10) NOTICER,

SUBSTRING_INDEX(GROUP_CONCAT(NOTICER_CNT),',',10) NOTICER_CNT

FROM (

SELECT 

A.NOTICER,

COUNT(*) NOTICER_CNT,

B.WORK_CRNT_CLS_ID,

C.WORK_CLS_NM

FROM TM_KILLER_CONTENTS_CATCH A

LEFT OUTER JOIN TM_WORK_CLAC B ON A.WORK_CLS_ID = B.WORK_CLS_ID

LEFT OUTER JOIN TM_WORK_CRNT_CLAC C ON B.WORK_CRNT_CLS_ID = C.WORK_CLS_ID

GROUP BY A.NOTICER 

ORDER BY NOTICER_CNT DESC

)

GROUP BY WORK_CRNT_CLS_ID

             )B ON B.WORK_CLS_NM = A.kind 

GROUP BY A.kind

ORDER BY ordercount


캡쳐 하나 첨부하겠습니다. 현재 실행시 나오는 결과값이며 데이터가없을때에는 


예시로 '방송'의 noticer 컬럼의 값이  mir3092,0,0,0,0,0,0,0,0,0 이런식으로표시되게 하고싶습니다. 

캡처.JPG




닫기
G
M
T
언어를 감지갈리시아어구자라트어그루지야어그리스어네덜란드어네팔어노르웨이어덴마크어독일어라오어라트비아어라틴어러시아어루마니아어리투아니아어마라티어마오리어마케도니아어말레이어말라가시어말라얄람어몰타어몽골어몽어바스크어버마어베트남어벨로루시어벵골의보스니아어불가리아어세르비아어세부아노세소토어소말리아어순다어스와힐리어스웨덴어스페인어슬로바키아어슬로베니아어신할라어아랍어아르메니아어아이슬란드어아이티프랑스말아일랜드어아제르바이잔어아프리칸스어알바니아어에스토니아어에스페란토말영어요루바어우르두어우즈베크어우크라이나어웨일즈어이그보어이디시어이탈리아어인도네시아어일본어자바어줄루어중국어(간체)중국어(번체)체와어체코어카자흐어카탈로니아어칸나다어칸나다어크로아티아어타갈로그어타밀어타직어태국어터키어텔루구어펀자브어페르시아어포르투갈어폴란드어프랑스어핀란드어하우사어한국어헝가리어히브리어힌디어
갈리시아어구자라트어그루지야어그리스어네덜란드어네팔어노르웨이어덴마크어독일어라오어라트비아어라틴어러시아어루마니아어리투아니아어마라티어마오리어마케도니아어말레이어말라가시어말라얄람어몰타어몽골어몽어바스크어버마어베트남어벨로루시어벵골의보스니아어불가리아어세르비아어세부아노세소토어소말리아어순다어스와힐리어스웨덴어스페인어슬로바키아어슬로베니아어신할라어아랍어아르메니아어아이슬란드어아이티프랑스말아일랜드어아제르바이잔어아프리칸스어알바니아어에스토니아어에스페란토말영어요루바어우르두어우즈베크어우크라이나어웨일즈어이그보어이디시어이탈리아어인도네시아어일본어자바어줄루어중국어(간체)중국어(번체)체와어체코어카자흐어카탈로니아어칸나다어칸나다어크로아티아어타갈로그어타밀어타직어태국어터키어텔루구어펀자브어페르시아어포르투갈어폴란드어프랑스어핀란드어하우사어한국어헝가리어히브리어힌디어
음성 기능은 200자로 제한됨
G
M
T
언어를 감지갈리시아어구자라트어그루지야어그리스어네덜란드어네팔어노르웨이어덴마크어독일어라오어라트비아어라틴어러시아어루마니아어리투아니아어마라티어마오리어마케도니아어말레이어말라가시어말라얄람어몰타어몽골어몽어바스크어버마어베트남어벨로루시어벵골의보스니아어불가리아어세르비아어세부아노세소토어소말리아어순다어스와힐리어스웨덴어스페인어슬로바키아어슬로베니아어신할라어아랍어아르메니아어아이슬란드어아이티프랑스말아일랜드어아제르바이잔어아프리칸스어알바니아어에스토니아어에스페란토말영어요루바어우르두어우즈베크어우크라이나어웨일즈어이그보어이디시어이탈리아어인도네시아어일본어자바어줄루어중국어(간체)중국어(번체)체와어체코어카자흐어카탈로니아어칸나다어칸나다어크로아티아어타갈로그어타밀어타직어태국어터키어텔루구어펀자브어페르시아어포르투갈어폴란드어프랑스어핀란드어하우사어한국어헝가리어히브리어힌디어
갈리시아어구자라트어그루지야어그리스어네덜란드어네팔어노르웨이어덴마크어독일어라오어라트비아어라틴어러시아어루마니아어리투아니아어마라티어마오리어마케도니아어말레이어말라가시어말라얄람어몰타어몽골어몽어바스크어버마어베트남어벨로루시어벵골의보스니아어불가리아어세르비아어세부아노세소토어소말리아어순다어스와힐리어스웨덴어스페인어슬로바키아어슬로베니아어신할라어아랍어아르메니아어아이슬란드어아이티프랑스말아일랜드어아제르바이잔어아프리칸스어알바니아어에스토니아어에스페란토말영어요루바어우르두어우즈베크어우크라이나어웨일즈어이그보어이디시어이탈리아어인도네시아어일본어자바어줄루어중국어(간체)중국어(번체)체와어체코어카자흐어카탈로니아어칸나다어칸나다어크로아티아어타갈로그어타밀어타직어태국어터키어텔루구어펀자브어페르시아어포르투갈어폴란드어프랑스어핀란드어하우사어한국어헝가리어히브리어힌디어
음성 기능은 200자로 제한됨
  • ?
    오명환 2018.02.22 17:08
    질의로만 해결하는 방법 좀 어려운 듯 합니다.
    정확한 방법은 아니지만, decode, rpad를 사용하면 유사하게 가능할 듯 합니다.

    위의 질의 중
    SUBSTRING_INDEX(GROUP_CONCAT(NOTICER),',',10) NOTICER,
    부분을
    decode (count(WORK_CRNT_CLS_ID) >= 10, 1, SUBSTRING_INDEX(GROUP_CONCAT(NOTICER),',',10), SUBSTRING_INDEX(rpad(GROUP_CONCAT(NOTICER), 100, ',0'),',',10)
    로 대체하면 유사한 답을 얻을 수 있습니다. 다만 rpad의 100이라는 숫자가 전체 글자 수여서 NOTICER의 글자들이 매우 큰 경우에는 100이라는 숫자를 200 또는 300으로 늘려야 합니다.

    이 방법이 아니면, java로 stored function을 작성해서 ',0'를 연결하는 프로그램을 작성해야 할 듯 하네요.
  • ?
    권호일 2018.02.22 18:15
    아래 부분을 참고하세요.

    GROUP_CONCAT의 결과에서 "," 문자가 몇개인지 확인하고, RPAD함수를 사용하여 ",0"를 발생 시킨 예제입니다.



    SELECT T3.kind,
    T3.str_concat,
    RPAD( NVL( T3.str_concat,'') , LENGTH(NVL( T3.str_concat,'')) + ( 10 - ( LENGTH(NVL( T3.str_concat,'')) - LENGTH( REPLACE(NVL( T3.str_concat,''),',','' ) ) ) *2) , ',0')

    FROM (

    select T1.kind, ','|| GROUP_CONCAT(T2.col1) AS str_concat
    from ( SELECT '음악' AS kind FROM db_root
    UNION ALL
    SELECT '영화' AS kind FROM db_root
    UNION ALL
    SELECT '방송' AS kind FROM db_root
    UNION ALL
    SELECT '출판' AS kind FROM db_root
    UNION ALL
    SELECT '게임' AS kind FROM db_root
    UNION ALL
    SELECT '만화' AS kind FROM db_root
    UNION ALL
    SELECT 'SW' AS kind FROM db_root
    ) T1 LEFT OUTER JOIN
    ( SELECT '음악' AS kind, '1' col1 FROM db_root
    UNION ALL
    SELECT '영화' AS kind, '111' col1 FROM db_root
    UNION ALL
    SELECT '영화' AS kind, '2222' col1 FROM db_root
    UNION ALL
    SELECT '방송' AS kind, '1' col1 FROM db_root
    UNION ALL
    SELECT '방송' AS kind, '22' col1 FROM db_root
    UNION ALL
    SELECT '방송' AS kind, '333' col1 FROM db_root
    ) T2
    ON T1.kind = T2.kind
    GROUP BY T1.kind
    ) T3
    ;
  • ?
    staterprograming 2018.02.27 09:16
    RPAD활용하여 잘해결했습니다! 정말감사드립니다 !!
  • ?
    staterprograming 2018.02.23 17:21
    답글 감사드립니다. 다른일정때문에 다소 늦게확인하여 지금 시도 중에 있습니다. 감사합니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4246
3976 회원가입이 3명이상 안돼요.. 1 딩이 2010.07.08 7844
3975 회사 서버에 접속을 할려면 설정이 다른가요? 2 후니 2009.07.14 10574
3974 홈경로 databases.txt 질문드립니다 1 큐브리드드 2023.07.17 83
3973 홀따옴표 처리 문의 1 초보 2010.04.15 14675
3972 혼합형 데이터 정렬방법 1 큐키 2021.06.11 80
3971 혼합형 데이터 정렬 방법 1 큐키 2021.06.14 252
3970 혹시 큐브리드매니저 자동완성 끄는 기능 있나요 2 안지민 2012.09.05 6031
3969 혹시 큐브리드 매니져 기본글꼴을 고정폭으로 해주실 생각은 없으신가요... 1 안지민 2012.12.20 5761
3968 혹시 PHP5.3.0 버전에서 모듈 설치되신분 계신가요??? 4 senseplus 2009.07.13 9390
3967 혹시 MMDB 지원하나요? 1 tekkal 2009.01.31 17476
3966 호스트 추가시 발생되는 오류에 대해 문의 합니다. 1 거북이사촌 2015.01.06 5259
3965 호스트 추가 질문입니다. 7 몽유객 2010.12.21 13804
3964 호스트 추가 1 karay2k 2011.12.17 17926
3963 호스트 연결이 안됩니다. 3 file 미드소나 2013.01.01 7746
3962 호스트 연결이 안되요.(비밀번호오류) 2 양희종 2011.09.06 13911
3961 호스트 연결이 무한 로딩도네요 1 file 큐브리드사용자 2022.10.20 108
3960 호스트 연결이 되지 않습니다. 3 file Juooon 2013.07.24 9229
3959 호스트 연결 에러 3 secret PJEPJE 2016.01.28 10
3958 형변환 오류 문의 1 삽질중 2009.12.30 12966
3957 현재 큐브리드 7.1 을 사용하고 있는데요 1 헬리 2009.10.01 8767
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 199 Next
/ 199

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales