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 39377 게시물 읽기
No. 39377
차감(?) 쿼리 질문입니다.
작성자
초보
작성일
2012-04-04 10:57ⓒ
2012-04-04 11:24ⓜ
조회수
4,337

테이블 A

품목 | 수량 | 위치

품목 수량 위치
TV 2 A
TV 5 B
TV 4 C

 

테이블 B

품목 | 수량

품목 수량
TV 10
VCR 5
DVD 7

 

테이블 B 에서 TV 가 10개 이면

테이블 A 에서 TV 가 위치 ASC 기준으로

A  2

B 5

C 4

가져와야 합니다.

즉 10개를 빼야하는데 테이블 A에서 위치 A에서 2개 B에서 5개 C에서 3개를 빼기위해

위치를 가져와야 하는거죠.

아...어떻게 할까요?

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

WITH a AS
(
SELECT 'TV' item, 2 qty, 'A' loc FROM dual
UNION ALL SELECT 'TV', 5, 'B' FROM dual
UNION ALL SELECT 'TV', 4, 'C' FROM dual
)
, b AS
(
SELECT 'TV' item, 10 qty FROM dual
)
SELECT item
     , b_qty
     , a_qty
     , LEAST(a_qty, b_qty - sum_qty + a_qty) c_qty
     , loc
  FROM (
        SELECT b.item
             , b.qty b_qty
             , a.qty a_qty
             , a.loc
             , SUM(a.qty) OVER(PARTITION BY a.item ORDER BY a.loc) sum_qty
          FROM a, b
         WHERE a.item = b.item
        )
 WHERE b_qty > sum_qty - a_qty
;

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

아...감탄~~~

 

감사합니다. ^^

초보님이 2012-04-04 17:03에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
39381쿼리 좀 도와주세요. 도무지 가닥이 안 잡히네. [2]
서정욱
2012-04-05
4125
39380순차적으로 삭제 해야하는 데이터의 쿼리 만들기 질문입니다.
쿼리 초보
2012-04-05
4248
39379두 쿼리의 차이점?? [3]
최인수
2012-04-05
5023
39377차감(?) 쿼리 질문입니다. [2]
초보
2012-04-04
4337
39376오라클 쿼리 질문드립니다 [1]
진현철
2012-04-04
3827
39374차수 구하는 쿼리 단순하게 할 수 없을까요. [1]
김정묵
2012-04-02
5418
39373대용량 몇천만건 데이터를 조회할때.... [1]
파주
2012-04-01
4196
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다