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
운영게시판
최근게시물
DBMS Q&A 792 게시물 읽기
No. 792
조인, 해빙. 서브쿼리를 이용한 쿼리..
작성자
run(jun6739)
작성일
2003-07-04 16:31
조회수
5,221

desc data (제품정보 테이블 table)

item varcher(2) // 제품고유번호 유니크

total number(5) // 총 수량

name varcher(10) // 제품명

...

...

 

desc part (고객이 산 물품 table)

item varchar(2) // 제품번호

cust varchar(20) // 고객아이디

qua number(2) // 수량

 

 

desc vip (vip 고객 table)

cust varchar(20)

 

위 테이블 3개에서 data.item = part.item && part.cust = vip.cust 같습니다.

 

다음과 같은 쿼리를 구하려고 합니다..

제품번호 | 제품명 | 총수량 | vip회원을제외한고객이 산 종목별 토탈수량 |

vip회원만이 산 종목별 수량 | 종목별 총판매수량

 

data.item | data.name | data.total | (part.number)- (vip.cust) | part.number중 vip만 |

sum(part.number)

 

 

 

테이블을 변경하거나 추가하지 않고 위 테이블을 토대로 위와 같은 쿼리를 구할려고 합니다..

디비는 오라클 815 입니다.

 

대충 아래와 같은 쿼리가 있어야 할꺼 같은데요..

아래대로 하면 안 되고요..

나름대로 하긴 했지만 구문이나 모든 것이 틀린거 같거든요..

어떻게 해야 할지... 부탁드립니다..

 

SELECT a.item, a.name, a.total, sum(b.number) 회원, sum(b.number) vip

FROM data a , part b, vip c

WHERE a.item=b.item and b.cust=c.cust

GROUP by a.item, a.name, a.total

HAVING sum(회원) = (select number from part where cust not (select cust from vip) )

and sum(vip) = (select number from part where cust in (select cust from vip) )

ORDER BY a.itemcd desc, a.itemcd ;

 

 

이렇게 쿼리를 하면 각 종목별로 해서 내용이 나와야 하거든요..

어떻게 해야 할지...부탁드립니다.

[Top]
No.
제목
작성자
작성일
조회
795MS-Access에 관한 문의... [1]
허직장
2003-07-11
5337
794고수님들 이 쿼리 어케 하져? [3]
임은수
2003-07-08
7470
793odbc에서.. [1]
정택준
2003-07-07
5048
792조인, 해빙. 서브쿼리를 이용한 쿼리..
run
2003-07-04
5221
791테이블 설계 문의요 [2]
학생
2003-07-04
5124
790어려운 쿼리문이라서 힘들군요. [2]
지욱
2003-07-03
5047
789[질문] 질문을 하나더.. 또 쿼리.. [4]
골빈당
2003-07-02
4977
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다