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
운영게시판
최근게시물
MS-SQL Q&A 5654 게시물 읽기
No. 5654
가변 가로 출력좀..너무 어렵네욧.
작성자
박통통
작성일
2010-05-13 15:17ⓒ
2010-05-13 19:25ⓜ
조회수
7,149

세로로 출력되어있는 데이타를 품목별 프로젝트별 가로로 표현하는 쿼리좀 부탁드립니다.

아래와 같고요. 문제는 프로젝트 코드가 가변적이라는것입니다.

즉 가변적인 프로젝트코드가 화면상에서는 타이틀(low명이 되는것이지요)

너무 어렵네요.

ps - 저의 ms-sql버전장 pivot은 지원이 되지않습니다.

 

Item_code(품목코드)        project_code(프로젝트코드)           Qty(소요량)

A11                                    10-001                              50
A11                                            10-002                                       30
A12                                            10-001                                       60
A13                                            10-009                                       70
A13                                            10-004                                        30
 ;                                                   ;
;                                                    ;
;                                                   ;
;                                                    ;
;                                                    ;                                 
;

------------------------------------------------>
                       
Item_code   10-001(프로젝트1)    10-002(프로젝트2)      10-004(프로젝트3)       10-009(프로젝트4)       ''       ''           ''
A11                                  50                                 30                                   
A12                                  60
A13                                                                                                                                                   30                                           70  
;
;


              

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

예전에 후배넘이 물어봐서 예제로 만들어 놓았던게 있어서 댓글 달아봅니다.

 

CREATE TABLE #Temp(
  A bigint
 , B char(10)
 , C char(8)
 , D smallint
 , E varchar(13)
 , F char(1)
)

 

INSERT INTO #Temp
SELECT 1, '0017', '20090304', 1, '6020606', 'O'
UNION ALL
SELECT 1, '0017', '20090311', 1, '6020606', '/'
UNION ALL
SELECT 1, '0017', '20090318', 1, '6020606', 'X'
UNION ALL
SELECT 1, '0017', '20090318', 2, '6020606', 'O'
UNION ALL
SELECT 1, '0017', '20090325', 1, '6020606', 'X'

 

DECLARE @SQL varchar(2000)
SELECT @SQL = 'SELECT A 학기,B 강좌번호,E 학번'
SELECT @SQL = @SQL + ',MAX(CASE WHEN C=''' + C + ''' AND D = ' +
              CONVERT(VARCHAR,D) + ' THEN F END) AS [' + C + '-' +
              CONVERT(VARCHAR,D) + ']'
FROM #Temp
SELECT @SQL = @SQL + ' FROM #Temp GROUP BY A,B,E'
EXEC (@SQL)

 

질문하신 답변과는 일치하지 않지만 해당 쿼리를 잘 분석하셔서 원하시는대로 다시 재구성하시면 문제없을것이라고 생각합니다.

건방진연이(gamebible)님이 2010-05-13 18:38에 작성한 댓글입니다.
이 댓글은 2010-05-13 18:38에 마지막으로 수정되었습니다.

님 감사합니다.

근데요 님의 쿼리가 제가 분석이 안되서 그러는데.

이게 루프쿼리인가요? 아니면 일반 쿼리인가요?

간단하게 보이는데 당췌 분석이 안되네요..ㅠㅠ

박통통님이 2010-05-13 20:24에 작성한 댓글입니다. Edit

동적쿼리입니다..

1111님이 2010-05-14 15:33에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
5657어떤테이블을 조인해야 하는지 모르겠어요ㅜ
임기택
2010-05-14
6061
5656getdate()함수 호출시 Null 값을 리턴....
박병호
2010-05-13
6478
5655800만건 데이터는 테이블 복사가 안됩니다. [2]
정명규
2010-05-13
6148
5654가변 가로 출력좀..너무 어렵네욧. [3]
박통통
2010-05-13
7149
5653150만건 데이타에서 검색 방법 [1]
음악소년
2010-05-12
6077
5652delete 한 부분을 다시 복구할려면? [1]
강한구
2010-05-11
6285
5651MSSQL-> DB2 DB로 마이그레이션 하는 방법???
허남인
2010-05-10
5831
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다