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
운영게시판
최근게시물
Oracle Q&A 39411 게시물 읽기
No. 39411
sql 도움 부탁드립니다
작성자
오라클초보
작성일
2012-04-23 11:34
조회수
4,260

 매출T (지점코드, 매출일자, 제품코드, 판매수량)  => index key 01  매출일자, 지점코드, 제품코드

 
본사재고T(제품코드, 본사재고수량)
 
지점재고T(지점코드, 제품코드, 지점재고수량)  => index key 01 제품코드, 지점코드
 
이렇게 세개의 테이블이 있습니다
 
기간의 판매수량의 상위 50개만 가져와 해당 제품코드의 
   본사재고수량, 지점재고수량을 표시하고 싶습니다
 
예)  기간 : 2012.04.01~2012.04.30
 
===========================================================================
순위  제품코드    sum(판매수량)     sum(본사재고수량)     sum(지점재고수량)
===========================================================================
 01   AC123          175                 5                        10
 02   AF890          170                 8                         3
                                            
 
 
기존에 각각의 테이블을 따로 작업해서 union all로 작업했는데 시간이 너무 오래 걸립니다
상위 50의 제품코드만 본사재고T,지점재고T에 바로 연결하면 시간이 많이 단축될것같은데
  잘 연결이 안됩니다
 
여러분들 꼭 좀 도와주십시요   (oracle version은 9I입니다)
이 글에 대한 댓글이 총 3건 있습니다.

이런 식으로 처리하시면 될듯한데요..

select a.제품코드,a.cnt,b.본사재고수량,c.지점재고수량

from

(select 제품코드,sum(판매수량) as cnt,rownum as rk

from 매출T

where 매출일자 between A and B

group by 제품코드

order by 2 desc) a,본사재고T b,지점재고T c

where a.rk<= 50

and     a.제품코드 = b.제품코드

and     a.제품코드 = c.제품코드

order by a.rk ;

김민수(ehrksl)님이 2012-04-23 17:54에 작성한 댓글입니다.

SELECT a.순위
     , a.제품코드
     , a.판매수량
     , b.본사재고수량
     , SUM(c.지점재고수량) 지점재고수량
  FROM (SELECT RANK() OVER(ORDER BY SUM(판매수량) DESC) 순위
             , 제품코드
             , SUM(판매수량) 판매수량
          FROM 매출T
         GROUP BY 제품코드
        ) a
     , 본사재고T b
     , 지점재고T c
 WHERE a.순위 <= 50
   AND a.제품코드 = b.제품코드
   AND a.제품코드 = c.제품코드
 GROUP BY a.순위, a.제품코드, a.판매수량, b.본사재고수량
;

마농(manon94)님이 2012-04-24 08:30에 작성한 댓글입니다.

 김민수님, 마농님 두분 너무너무 감사드립니다 ^^

 

오라클초보님이 2012-04-24 17:59에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
39414ORA-01841 오류 [2]
신동화
2012-04-25
6396
39413쿼리 문의 [1]
진희
2012-04-24
4258
39412쿼리문 문의 드립니다 SELECT ROW별 검색 조건 [3]
최상민
2012-04-24
5425
39411sql 도움 부탁드립니다 [3]
오라클초보
2012-04-23
4260
39410조건문을 SQL에 포함 하고자 합니다. [1]
최상원
2012-04-20
4442
39409ORA-03127 [1]
이성규
2012-04-20
5544
39408중첩된 select 문내에서 order by 가 먹히질 안헨요.-.- [2]
최재철
2012-04-19
5563
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.025초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다