Background Image

FORUM

조회 수 27896 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
안녕하세요, 

제가 근무하는 회사에서는 MySQL 을 기반으로 하는 시스템이 좀 많은 편입니다.

주로 MySQL 을 그리고 MS-SQL 을 사용했지만,
무료라는 이점과 PHP와의 궁합 문제로 MySQL 의 사용 빈도가 높았습니다.

그런데 이번에 오라클이 Sun을 인수한 것을 보고는 아무래도 DB 쪽에 대해 생각을 많이 가지게 되는 것 같습니다.

해서, 쿼리를 하나씩 변경해보고자 하는데 MySQL 함수들 때문에 몇가지 막혀 질문을 드려 봅니다.

그 중 하나로, MySQL 의 GROUP_CONCAT 함수를 이용하면,
여러 레코드 결과를 하나의 레코드 결과로 묶어 획득 할 수 있습니다.

간단한 예제로는 다음과 같습니다.

# 테이블 : user_join_groups  (사용자가 가입한 그룹 정보)
group_id  / Int형 / FK / 가입한 그룹의 고유번호
user_id  / Int 형 / FK / 사용자 고유번호

# 테이블 : groups (그룹 메타 정보)
group_id / Int 형 / PK / 그룹 고유번호
name / Varchar / 그룹 이름


     SELECT GROUP_CONCAT(DISTINCT CONCAT(B.uid,':',B.name) SEPARATOR ';') as join_group
     FROM user_join_groups AS A
     INNER JOIN groups AS B
     ON A.group_id = B.group_id
     GROUP BY A.user_id

상기 쿼리의 경우, A 테이블에서 user_id 로 group by 하여, A의 group_id 와 B의 group_id 로 join 된 결과를
하나의 레코드 결과로 만들어 줍니다.

이와 같이 여러 줄의 row 를 하나의 row 로 결과를 합쳐주는 큐브리드 내장 함수가 있는지 궁금하며,
내장 함수가 없다면 이런 것을 DB 쿼리 상에서 처리하기 위한 방법이 있는지 궁금합니다.

감사합니다.

  • ?
    Prototype 2009.04.29 04:49
    안녕하세요.
    GROUP CONCAT 함수의 경우 CUBRID 에는 1:1 대응하는 함수는 없습니다. 단, LIST 를 사용하면 같은 결과를 얻을 수 있습니다.
    사용예는 다음과 같습니다.

    MYSQL QUERY 가 SELECT col_1, GROUP_CONCAT(col_2 ORDER BY col_2 desc SEPARATOR, '^') FROM tbl group by col_1; 라고 가정하면

    1. 해당 컬럼이 INT 계열 컬럼일 경우
    SELECT col_1, LIST(SELECT int_column || '^' FROM tbl ORDER BY int_column desc) FROM tbl group by col_1;

    2. 해당 컬럼이 CHAR 계열 컬럼일 경우
    SELECT col_1, LIST(SELECT trim(char_column) || '^' FROM tbl ORDER BY char_column desc) FROM tbl group by col_1;

    로 응용하여 사용하실 수 있습니다.
  • ?
    차오이 2009.04.29 05:10
    네, 알려주신 방법으로 한번 해봐야 겠습니다.
    잘 될런지 모르겠네요..

  1. CUBRID 사용자를 위한 DBeaver 도구 출시 안내

    Date2024.04.23 Byadmin Views51
    read more
  2. SQLGate for CUBRID 영구 무료 라이선스 제공

    Date2020.04.09 Byadmin Views4458
    read more
  3. tomcat7 + cubrid

    Date2012.07.27 By깽즈야 Views91074
    Read More
  4. 원격접속이 안되네요?????????

    Date2013.07.23 ByChris Views89530
    Read More
  5. 현재 연결은 원격 호스트에 의해 강제로 끊겼습니다

    Date2013.05.29 By바람바람 Views84897
    Read More
  6. CUBRID 7.3 + zeroboard XE 관리자 로그인 에러

    Date2009.01.17 By윤희서 Views83642
    Read More
  7. cub_master: Cannot bind local address... aborting.... Address already in use

    Date2008.11.28 By박상현 Views83565
    Read More
  8. 큐브리드 다운로더 오류 발생

    Date2008.11.22 By차오이 Views78497
    Read More
  9. zeroboard XE 설치시 'database connect fail' error

    Date2009.01.16 By윤희서 Views78164
    Read More
  10. Image 데이터타입 사용방법

    Date2008.11.25 ByAD Views73850
    Read More
  11. clob 문의

    Date2012.11.29 By김해영 Views73008
    Read More
  12. linux server 환경에서 php 버전은 어떤걸로 선택해야하는지.

    Date2008.11.30 By거기 Views66366
    Read More
  13. 델파이에서는 어떻게 사용할수 있을까요?

    Date2008.11.29 By이상원 Views65568
    Read More
  14. if exists 조건 처리문?

    Date2013.03.06 By콩이아부지 Views63611
    Read More
  15. update 쿼리를 이용한 시리얼 수정에 관하여

    Date2008.11.27 By인경수 Views63454
    Read More
  16. 큐브리드 2008 설치시 윈도우 서비스에 등록되지 않습니다.

    Date2008.11.22 By진이 Views63170
    Read More
  17. CUBRID 7.3 + zeroboard XE 관리자 로그인 에러

    Date2009.01.17 By윤희서 Views62130
    Read More
  18. 큐브리드 maven repository 관련 문의

    Date2013.04.30 ByStoneHouse Views61468
    Read More
  19. 메니저에서 접속 안되는 오류

    Date2013.08.16 By유나인 Views61068
    Read More
  20. .NET DB 제어를 위한 방법.

    Date2008.11.23 By우페 Views60878
    Read More
  21. JDK가 두개 설치된 경우 선택적으로 JDK를 설정 할 수 있는 방법은 없는지요

    Date2008.11.28 ByGoFly Views60615
    Read More
  22. 데이터 이관시 소유자 변경 가능한가요???

    Date2013.08.08 By델몬트 Views60067
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 200 Next
/ 200

Contact Cubrid

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