Background Image

FORUM

조회 수 27901 추천 수 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 Views139
    read more
  2. SQLGate for CUBRID 영구 무료 라이선스 제공

    Date2020.04.09 Byadmin Views4479
    read more
  3. jsp오류 문의

    Date2009.05.22 ByUSW Views15418
    Read More
  4. CUBRID 클라이언트만 설치 후 클라이언트 실행 에러

    Date2009.05.22 By일류요리사 Views16505
    Read More
  5. 큐브리드 매니저 질의편집기가 이상하네요.

    Date2009.05.21 By회색악마 Views11618
    Read More
  6. ODBC 다중 접속 댓글을 보고 나서...

    Date2009.05.20 ByApiClasser Views15888
    Read More
  7. CSQL을 통해서 데이터 입력 시 케릭터 셋 설정

    Date2009.05.20 By거만쟁이 Views13231
    Read More
  8. PDO 지원이 가능한가요?

    Date2009.05.20 Byihwan Views12045
    Read More
  9. 우분투 릴리즈 설치 지원 안되나요?

    Date2009.05.19 ByHoya Views17739
    Read More
  10. 쿼리 빌더 같은 것이 있나요?

    Date2009.05.16 Byjennysoft Views13085
    Read More
  11. [초보질문] dbcp test 중 오류발생

    Date2009.05.16 By삽질중 Views18406
    Read More
  12. [초보질문] 큐브리드 매니저에서 데이타베이스 종료시 에러

    Date2009.05.16 By삽질중 Views11940
    Read More
  13. Unable to access system message catalog.(null) (자답)

    Date2009.05.15 By공기청정기 Views11825
    Read More
  14. Unable to access system message catalog.(null)

    Date2009.05.14 By공기청정기 Views15693
    Read More
  15. MySQL의 LOAD DATA INFILE 기능은 CUBRID에 없나요?

    Date2009.05.13 By공기청정기 Views20624
    Read More
  16. [초보질문] 객체관계 테이블 set type 입력 및 조회 방법문의

    Date2009.05.13 By삽질중 Views14652
    Read More
  17. 안정성 관련 질문 드립니다.

    Date2009.05.12 Bykkckc Views15583
    Read More
  18. java.lang.ClassNotFoundException: cubrid.jdbc.dirver.CUBRIDDriver 에러에 관한문의

    Date2009.05.12 By삽질중 Views20671
    Read More
  19. 한글에 upper함수 적용하면 검색이 안되는 이유?

    Date2009.05.11 By장비맨 Views20810
    Read More
  20. [초보질문]function 변환 문의 (oracle -> cubrid)

    Date2009.05.08 By삽질중 Views22591
    Read More
  21. 큐브리드 개발 환경 구축 문제

    Date2009.05.08 By흐승욱 Views12783
    Read More
  22. [초보질문] 타유저 TABLE 생성 가능여부 및 볼륨 데이타 입력 문의

    Date2009.05.08 By삽질중 Views14046
    Read More
Board Pagination Prev 1 ... 186 187 188 189 190 191 192 193 194 195 ... 201 Next
/ 201

Contact Cubrid

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