Background Image

FORUM

조회 수 368 추천 수 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
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 48
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
3374 날짜함수 문의 4 초보 2010.03.24 12921
3373 mysql에서는 빠른데 큐브리드에서 쿼리를 포문으로 돌려 여러번 실행시 너무 오래 걸립니다. 5 초보 2010.03.13 12918
3372 메니저 서비스 실행에 문제가있습니다. 1 SoMa 2011.02.05 12914
3371 Hibernate로 페이징 처리시 오류발생에 대한 내용입니다. 4 백화요란 2011.09.16 12913
3370 큐브리드 날짜 함수 Now() 문의 1 유니콘 2011.03.21 12900
3369 큐브리드매니저에서 데이터 내려받기시 컬럼명 같이 저장기능 추가 2 file 고영진 2009.09.24 12894
3368 내보내기 기능에 관련 3 file 처음처럼초보 2016.11.29 12889
3367 windows 2008 R2(64bit) 서버에서 php사용시 큐브리드 모듈 사용 질문 1 김우람 2011.03.03 12888
3366 큐브리드데이터베이스검사시 나오는 불량. 4 file 늑대의호기심 2016.11.22 12884
3365 큐브리드 R2.1 PHP확장모듈 관련 8 차오이 2010.03.15 12871
3364 Java Stored Procedure 사용시 에러 문의드려요~ 2 file 나삐꾸 2010.06.09 12854
3363 check 관련 문의 1 Ninkk 2016.08.26 12853
3362 큐브리드 메니져로 쿼리 결과 조회시#2 1 file ApiClasser 2009.02.14 12852
3361 delete join 2 비형여자 2011.08.31 12845
3360 센트OS에서 큐브리드 명령어 사용?? 7 푸른잔디 2009.12.01 12821
3359 에러메세지 한글 깨짐 2 소라게 2013.08.20 12821
3358 외부에서 메니져 접속이 안됩니다. 3 platanus 2011.06.14 12815
3357 Code::Blocks - CCI 개발 환경 문의 3 reerror 2011.06.17 12806
3356 cubrid server start demodb 에러 2 penny 2009.08.27 12806
3355 Visual Stdio 2008 OLE_DB 사용하여 TEST 중.... 문제 발생... 1 G행운아 2010.05.07 12803
Board Pagination Prev 1 ... 27 28 29 30 31 32 33 34 35 36 ... 200 Next
/ 200

Contact Cubrid

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