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 30211 게시물 읽기
No. 30211
난해한 쿼리
작성자
chqhcn
작성일
2012-02-21 11:20
조회수
8,249

테이블구조 (seq ; pk)

seq int(11)
code varchar(10)
regday date
product_id char(2)

데이타

code값은 CA,CB,CC,CD,CE,CF,CG,CH 8개로 정해져있음(공통테이블에서 조회가능)

seq code regday product_id
1 CA 2012-02-20 X1
2 CA 2012-02-20 X2
3 CB 2012-02-22 X3
4 CB 2012-02-22 X4
5 CF 2012-02-20 X5
6 CG 2012-02-22 X6
7 CH 2012-02-22 X7
8 CH 2012-02-23 X8
9 CH 2012-02-23 X9

결과값 (조회조건 : 2012-02-20 ~ 2012-02-24)

  CA CB CC CD CE CF CG CH
2012-02-20 X1,X2         X5    
2012-02-21                
2012-02-22   X4,X5         X6 X7
2012-02-23               X8,X9

위와 같이 데이타를 출력해야합니다. 조회조건날짜에 데이타가 없어도 날짜 로우를 생성해야합니다.

조언부탁드립니다 . 감사합니다.

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

 select  regday,

group_concat(if(code='CA',produc_id,NULL) ) as 'CA',

group_concat(if(code='CB',produc_id,NULL)  as 'CB',

...

...

...

tab2

group by regday.

 

해보진 않았지만..--;;

위의 형태로 완성하시면, 대략.

날짜, "X1, X2", NULL......

날짜,NULL, data. NULL

정도의 자료들이 나오게 됩니다.

그걸 다시 regday기준으로 max를 취하게 되시면 원하시는 결과가 도출 될 것으로 예상 됩니다.

자료가 없는데도 나와야 되는건 더미 데이타를 만들어서 outer join 시키면 될것 같습니다.

 

 

lnx4u님이 2012-11-07 17:52에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
30214index관련 질문입니다. [4]
지종현
2012-02-22
9264
30213무식한질문-중복값지우기 [1]
김길동
2012-02-21
8210
30212mysql 툴로 접속하려고 하는데 [2]
으악
2012-02-21
14647
30211난해한 쿼리 [1]
chqhcn
2012-02-21
8249
30210sqlrelay에서 bind 변수 이름으로 정의하기
박기훈
2012-02-20
8209
30209초보질문입니다.. rank값을 update하기. [1]
박기철
2012-02-20
8659
30208초짜입니다. 고수님들의 도움좀 부탁해요~ [2]
박기철
2012-02-20
7758
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다