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 30792 게시물 읽기
No. 30792
도와주세요~!!세로의 값을 가변적으로 가로로 출력
작성자
yhs
작성일
2014-11-11 14:38ⓒ
2014-11-11 15:54ⓜ
조회수
8,933

AA테이블

==============

 SELECT '1' AS IDX, '1' AS BNO, '1' AS KCNT, 'aaa.hwp' AS FILENAME FROM DUAL UNION ALL
 SELECT '2' AS IDX, '2' AS BNO, '1' AS KCNT, 'bbb.hwp' AS FILENAME FROM DUAL UNION ALL
 SELECT '3' AS IDX, '3' AS BNO, '2' AS KCNT, 'ccc.xls' AS FILENAME FROM DUAL UNION ALL
 SELECT '4' AS IDX, '3' AS BNO, '2' AS KCNT, 'ddd.xls' AS FILENAME FROM DUAL UNION ALL
 SELECT '5' AS IDX, '4' AS BNO, '2' AS KCNT, 'eee.doc' AS FILENAME FROM DUAL UNION ALL
 SELECT '6' AS IDX, '4' AS BNO, '2' AS KCNT, 'egg.doc' AS FILENAME FROM DUAL
 

BB테이블

==============

 SELECT '1' AS BNO, '동행1프로젝트' AS TITLE, '내용테스트1' AS CONTENTS  FROM DUAL UNION ALL
 SELECT '2' AS BNO, '동행2프로젝트' AS TITLE, '내용테스트2' AS CONTENTS  FROM DUAL UNION ALL
 SELECT '3' AS BNO, '동행3프로젝트' AS TITLE, '내용테스트3' AS CONTENTS  FROM DUAL UNION ALL
 SELECT '4' AS BNO, '동행4프로젝트' AS TITLE, '내용테스트4' AS CONTENTS  FROM DUAL
 

    

출력결과

==============
    BNO    FILENAME1   FILENAME2    FILENAME3...     TITLE               CONTENTS
    1        aaa.hwp                                                            동행1프로젝트       내용테스트1
    2        bbb.hwp                                                            동행2프로젝트       내용테스트2
    3        ccc.xls              ddd.xls                                     동행3프로젝트       내용테스트4
    4         eee.doc           egg.doc                                    동행4프로젝트       내용테스트4

                                    
     FileNAME1~  파일갯수가 가변적이고

     mysql4.버전으로 제한된 함수를 사용해야 하네요..

좀 도와주세요~~~ ㅠㅠ

 

 

이 글에 대한 댓글이 총 2건 있습니다.

SELECT b.bno
     , a.filename1, a.filename2, a.filename3, a.filename4, a.filename5
     , b.title, b.contents
  FROM (SELECT 1 bno, '동행1프로젝트' title, '내용테스트1' contents
        UNION ALL SELECT 2, '동행2프로젝트', '내용테스트2'
        UNION ALL SELECT 3, '동행3프로젝트', '내용테스트3'
        UNION ALL SELECT 4, '동행4프로젝트', '내용테스트4'
        ) b
  LEFT OUTER JOIN
       (SELECT bno
             , MIN(CASE rn WHEN 1 THEN filename END) filename1
             , MIN(CASE rn WHEN 2 THEN filename END) filename2
             , MIN(CASE rn WHEN 3 THEN filename END) filename3
             , MIN(CASE rn WHEN 4 THEN filename END) filename4
             , MIN(CASE rn WHEN 5 THEN filename END) filename5
          FROM (SELECT idx, bno, kcnt, filename
                     , @rn  := CASE @bno WHEN bno THEN @rn + 1 ELSE 1 END rn
                     , @bno := bno
                  FROM (SELECT 1 idx, 1 bno, 1 kcnt, 'aaa.hwp' filename
                        UNION ALL SELECT 2, 2, 1, 'bbb.hwp'
                        UNION ALL SELECT 3, 3, 2, 'ccc.xls'
                        UNION ALL SELECT 4, 3, 2, 'ddd.xls'
                        UNION ALL SELECT 5, 4, 2, 'eee.doc'
                        UNION ALL SELECT 6, 4, 2, 'egg.doc'
                        ) a
                        , (SELECT @rn := 0, @bno := Null) b
                 ORDER BY bno, idx
                ) a
         GROUP BY bno
        ) a
    ON b.bno = a.bno
;

마농(manon94)님이 2014-11-13 13:18에 작성한 댓글입니다.
이 댓글은 2014-11-13 13:19에 마지막으로 수정되었습니다.

역시 마농님이 도움주시네요~~

넘 감사합니다.

이런 방법이 있었네요..

yhs님이 2014-11-13 14:39에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
30795mysql outer join시 merge안하기
지나가다
2014-11-19
8203
30794프로시져 중첩커서 사용 인서트문 입니다 ㅜ
도와주세요
2014-11-17
9062
30793암호를 암호화하는 동안 오류가 발생했습니다. 연결이 닫혔습니다.
류준우
2014-11-17
8198
30792도와주세요~!!세로의 값을 가변적으로 가로로 출력 [2]
yhs
2014-11-11
8933
30791년도 목록 쿼리 질문 드립니다.ㅠㅠ [1]
테르
2014-11-11
8426
30790다중 테이블 입력시 고민사항입니다. [2]
박지원
2014-11-09
8166
30789한 테이블에 적용할 트리거에 After Insert와 After Update 이벤트 둘다 줄수 없을까요? [1]
궁금
2014-11-07
9463
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.053초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다