Q&A

  • Union을 이용한 뒤 Sum
엄성운 wrote:

> 안녕하세요 *^^*

>

> 출력물을 작성하는 도중에..... 아무리 ~ 고민해봐두.. 막히는 부분이 있어 이렇게 글을 올립니다.

> 천천히 설명해 드릴께요~ 도와주셔요....

> 입출고 테이블이 있구요.....

> 발주입출고 테이블이 있습니다.

> 입출고 테이블에는 이런 형식의 데이타가 있구요

>

> ----------------------------------

> 구분 자재코드 수량

> ----------------------------------

> 입고 AAAAA 10

> 입고 BBBBB 10

> 입고 BBBBB 5

> 출고 CCCCC 10

> 출고 AAAAA 5

> ----------------------------------

>

> 발주 입출고 테이블에는 이런형식의 데이타가 들어있습니다.

> ----------------------------------

> 구분 자재코드 수량

> ----------------------------------

> 입고 AAAAA 10

> 입고 BBBBB 10

> 출고 CCCCC 10

> 출고 CCCCC 10

> ----------------------------------

>

> 이 두 테이블을 조인하여서 이러한 형식의 출력물을 뽑아야 하거든요...

> -------------------------------------

> 자재코드 입고수량 출고수량

> -------------------------------------

> AAAAA 20 5

> BBBBB 25

> CCCCC 30

> -------------------------------------

> 조건은 구분이 입고인 자재의 수량은 입고수량으로 sum 되야 하고.

> 구분이 출고인 자재의 수량은 출고수량의 값으로 sum 이 되야 합니다.

> ms SQL7.0 을 사용하고 있구요......

> 몇시간째 이것땜시 헤매고 있는지 모르겠습니다......

> 고수님들..... 부탁드려요....

> 설명이 부족하면 다시 올려드립죠.....

> ^_____________________^

>

답변

글쎄요. 잘 될지 모르지만



먼저 입출고 테이블이 InOut

발주 테이블을 Order 라 하면



==>

Select 자재코드,

Sum(입고수량),

Sum(출고수량)

From (Select a.자재코드,

(a.입수량 + b.발주입수량) 입고수량,

0 출고수량

From Inout a, Order b

Where a.자재코드 =* b.자재코드

Union

(Select c.자재코드,

0 입고수량,

(c.출수량 + d.발주출수량) 출고수량

From Inout c, Order d

Where c.자재코드 =* d.자재코드

Group By 자재코드



==>



설명을 좀 하면 입수 자재코드에 의한 입고수량을 구하고,

다시 자재코드에 대한 출고수량을 구한뒤

그룹으로 묶어서 Sum을 하면 됩니다. 도움이 됐으면 해요.

0  COMMENTS