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. php게시판에 있는 php설치 글에서.<? phpinfo.php ?>사용이 가능한 구문인가요?

    Date2010.01.26 By뚱기 Views34597
    Read More
  3. php - cubird 연결 부분 오류 문제 문의 드립니다.

    Date2011.05.19 By김우람 Views34353
    Read More
  4. 프로세스 정상동작 문의 드립니다.

    Date2009.01.23 By윤희서 Views33635
    Read More
  5. DWMAPI.dll 관련 오류

    Date2009.02.04 ByGGG특별대원 Views33285
    Read More
  6. 전자정부 프레임워크 트랜잭션 관련 질문드립니다.

    Date2013.08.23 By상초 Views32725
    Read More
  7. ole provider 사용 하고 있는데요, code=80004005, 지정되지 않은 오류라고 나옵니다.

    Date2012.10.18 Bydecoder Views32397
    Read More
  8. 설치시 오류 :cubrid: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

    Date2009.01.22 Byvictory Views32144
    Read More
  9. C#에서 ODBC연결시 에러

    Date2009.11.15 By용이 Views31852
    Read More
  10. 안녕하세요 김범준님..

    Date2008.12.01 ByGoFly Views30837
    Read More
  11. DB 서버 자동 실행 문의.

    Date2008.12.04 By우페 Views30520
    Read More
  12. 시간표현 문제

    Date2008.12.02 Byasteroid Views30265
    Read More
  13. libncurses.so.5 관련 질문입니다. (cubrid service start 시)

    Date2009.04.29 Byexnis Views30198
    Read More
  14. 페이징과 전체 카운트 쿼리 가져올 수 있도록 해주세요.ㅠㅠ

    Date2011.10.29 By마산이프로 Views30074
    Read More
  15. UPDATE/INSERT를 한번에 하는 쿼리 질문드립니다.

    Date2009.02.17 Bykkckc Views28828
    Read More
  16. DLL WS2_32.dll에서 찾을 수 없습니다.

    Date2011.12.17 Bykaray2k Views28605
    Read More
  17. XE를 mysql에서 cubrid로 이전한 후 속도가 너무 느립니다.

    Date2011.08.07 By엔하늘 Views28567
    Read More
  18. html 특수문자 깨지지 않게 가져오는 법

    Date2013.11.12 By씨유소박 Views28361
    Read More
  19. csql 유틸리티에서 쿼리플랜 확인

    Date2008.12.05 Byasteroid Views28258
    Read More
  20. Your transaction (index 4, dba@LoveME|3952) has been unilaterally aborted by the system.큐브리드 로그파일도 같이 넣었어요..

    Date2009.09.08 By지니 Views28016
    Read More
  21. MySQL 의 GROUP_CONCAT 함수에 대응하는 CUBRID 함수가 있는지요?

    Date2009.04.29 By차오이 Views27886
    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