database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 27109 게시물 읽기
No. 27109
레코드 그룹지어서 문자열 연결하기
작성자
정왕균
작성일
2007-10-25 21:13
조회수
3,370

안녕하세요. 이게 가능한 것인지 문의 좀 드립니다. 


테이블A 에 코드가 동일한 것 끼리 그룹을 지어 컬럼에 있는 문자열을 연결합니다. 


DROP TABLE IF EXISTS p_PortionList;

CREATE TABLE p_PortionList (

 JisaCode varchar(20) NOT NULL default '',

 LectureName varchar(50) NOT NULL Default '',

 sDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

) ENGINE=MyISAM DEFAULT CHARSET=utf8;


JisaCode LectureName 

1              a

1              b


이렇게 있을 때 


결과값이 

1     a,b

이렇게 하려고 합니다.


별칭을 넣어서 하니 별칭을 컬럼으로 인식해서 찾아서 에러나네요.

SELECT JisaCode, concat(aaa , ",", LectureName) aaa FROM p_PortionList Group By JisaCode


좋은 방법좀 알려주세요.

이 글에 대한 댓글이 총 2건 있습니다.
일단 순위를 매겨서 Grouping해야 하는데 질문에 국한하여 답을 드리니, 결과에 JisaCode가 여러개 존재하면 맨 아래의 링크내용 중 ROW_NUMBER() OVER() 기능으로 변환하는 방법 참고하시어 수정하시면 됩니다.
또한 결과가 max level에 대한 것이 없는 완전한 동적row라면 프로시져나 DynamicQuery방법 이외에는 없습니다...아래에는 최대 3row까지 나올 수 있다고 가정합니다...참고하세요...;

SET @rn = 0;

SELECT 
      JisaCode
    , CONCAT( 
          MIN(CASE WHEN rn = 1 THEN LectureName END)
        , MIN(CASE WHEN rn = 2 THEN CONCAT(', ', LectureName) END)
        , MIN(CASE WHEN rn = 3 THEN CONCAT(', ', LectureName) END)
    ) AS 결과
FROM(
    SELECT (@rn := @rn + 1) AS rn, t.* FROM p_PortionList ORDER BY JisaCode, LectureName
    ) a
GROUP BY JisaCode

사정 상 테스트는 못 해 봤음을 밝힙니다...죄송합니다.
대신 아래 블로그 내용들은 전부 5.x대 버전에서 테스트 완료된 코드들입니다...^^:

http://blog.naver.com/finecomp/100036546911

건승하시길...수고하세요~~
성시현(finecomp)님이 2007-10-26 18:12에 작성한 댓글입니다.
이 댓글은 2007-10-26 18:15에 마지막으로 수정되었습니다.

성시현님 생유베리 감솨 ^^*

근데 레코드가 딱 3개 있을 때만 되네요. 참고하여 보완하도록 하겠습니다.

정왕균님이 2007-10-27 11:50에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
27114질문 하나 드리겠습니다. [1]
김민균
2007-10-29
2368
27113select로 컬럼의 존재 여부를 알수있을까요?
임시손님
2007-10-29
1863
27110DB 이전에 관해 조언 부탁드립니다. [1]
Fokies
2007-10-26
2079
27109레코드 그룹지어서 문자열 연결하기 [2]
정왕균
2007-10-25
3370
27107fulltext 검색에서 질문 드립니다. (정렬문제)
반화넬
2007-10-25
2362
27106MySQL 한글 인덱싱 되나요?
김수리
2007-10-25
2125
27104한글 인코딩 관련 질문입니다. [1]
박지은
2007-10-24
2719
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.025초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다