Background Image

FORUM

조회 수 4116 추천 수 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 도구 출시 안내 21 admin 2024.04.23 143915
2829 DB 테이블 목록 등 열기 시 오류 (+로그 추가-2) 10 file cacaopie 2018.05.29 4008
2828 테이블 설명 기능 설치 3 abg 2018.05.29 3988
2827 Store Procedure 작성 관련 질문 1 키레이니 2018.05.28 5297
2826 Store Procedure 호출 관련 질문 1 키레이니 2018.05.28 4332
2825 comment 기능 질문 1 키레이니 2018.05.25 4366
2824 heap_get_visible_version_from_log 에러 7 복분자 2018.05.24 3961
2823 FATAL ERROR 발생으로 cubrid server start가 되지 않습니다. 6 복분자 2018.05.24 4842
2822 cubrid server start: fail 이 뜹니다. 4 복분자 2018.05.24 5405
2821 create db 실행 오류 1 영진 2018.05.22 5485
2820 오라클 job -> 큐브리드 ?? 1 퓨전남 2018.05.17 4024
2819 툴에서 튜닝모드로 수행했을 때 관련 1 file 잉여개발자 2018.05.16 3823
2818 cubrid.jdbc.driver.CUBRIDException: Semantic: Cannot coerce host var to type bit. 문의 드립니다. 4 vks 2018.05.16 5582
2817 트리거 질문입니다. 3 퓨전남 2018.05.15 4553
2816 안녕하세요.. 초보적인 질문입니다, 1 Mi 2018.05.15 5014
2815 하이버네이트 uniqueResult 함수 사용 문의 1 kim77p 2018.05.15 4325
2814 create db 수행시 오류가 발생합니다. 1 큐브리드초보당 2018.05.14 4021
2813 Mybatis 사용시 setTransactionIsolation();을 일부 트렌젝션에서 사용이 가능할가요? 1 라면 2018.05.14 4984
2812 JSP를 사용한 큐브리드와 AWS 웹서버 연동 방법 1 영토리 2018.05.09 4779
2811 unloaddb, loaddb 진행 후 service가 시작되지 않습니다. 1 seyaa 2018.05.04 4119
2810 큐브리드 멀티코어 지원이 안되나요? 1 훈이아빠 2018.05.02 3860
Board Pagination Prev 1 ... 67 68 69 70 71 72 73 74 75 76 ... 213 Next
/ 213

Contact Cubrid

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