엄성운 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을 하면 됩니다. 도움이 됐으면 해요.