Background Image

FORUM

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

    Date2020.04.09 Byadmin Views4443
    read more
  2. ODBC 오토커밋 off에 관련된 문의

    Date2012.05.23 By세스카 Views11255
    Read More
  3. CUBRID 9.2.0.0.155 한글 깨짐 관련 요청

    Date2014.02.06 By뿡뿡이입니다 Views11268
    Read More
  4. Oracle REGEXT 함수 지원하나요?

    Date2013.03.25 Bycyber Views11272
    Read More
  5. Connect By Level 구문에 대해 문의 드립니다.

    Date2012.03.23 By깨달음 Views11274
    Read More
  6. PHP에서 CUBRID 4.0 모듈이 로드 되지 않습니다.

    Date2011.06.22 By유리심장 Views11277
    Read More
  7. 백업받은 파일로 다른 서버에 복구하기

    Date2009.08.07 By...... Views11304
    Read More
  8. Cubrid에서 Cursor 작성법이 궁금합니다.

    Date2010.07.09 By궁금이 Views11305
    Read More
  9. 오류 해결방법을 몰라 질문드립니다.

    Date2012.05.16 By삼구 Views11307
    Read More
  10. 용량은 충분한데 Out of disk space in database 라는 로그가 남으면서 마이그레이션이 안됩니다.

    Date2014.03.20 By리리라 Views11307
    Read More
  11. 서버를 시작하려는데 시작되질 않네요.

    Date2010.08.25 By까망군 Views11312
    Read More
  12. Connection 관련 내용

    Date2010.08.31 Byjjobi Views11319
    Read More
  13. 널포인트 익셉션 에러가 납니다

    Date2010.08.06 By유니콘 Views11323
    Read More
  14. 서브쿼리 질문

    Date2010.02.03 By초보 Views11332
    Read More
  15. Query Browser Eclipse plug-in 설치시 오류

    Date2014.02.07 By규리 Views11342
    Read More
  16. Cubrid shard for Mysql 구성 중 질문 입니다.

    Date2013.05.25 By태연 Views11345
    Read More
  17. PHP + Apache + Cubrid 연동 질문 입니다.

    Date2011.07.27 By지누 Views11347
    Read More
  18. DB 삭제 후 생성??

    Date2009.12.02 By푸른잔디 Views11349
    Read More
  19. loaddb시 피시 메모리 증가와 스왑에 따른 종료문제

    Date2012.08.28 By천상하늘 Views11358
    Read More
  20. 큐브리드매니저의 아이콘 개선 요청

    Date2009.09.24 By고영진 Views11361
    Read More
  21. CentOS 6.3 + cubrid + nforge 설치가 잘 않되네요.

    Date2013.04.08 By김영환 Views11364
    Read More
Board Pagination Prev 1 ... 151 152 153 154 155 156 157 158 159 160 ... 200 Next
/ 200

Contact Cubrid

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