입고 와 출고를 각각 월별로 db를 만들었습니다.
총 24개가 되는군요...(왜 이렇게 했는지 저도 잘 모릅니다)
필드는 날짜, 품목, 거래처, 수량 이렇게 있습니다
이걸 가지고
05-01-01 ~ 05-02-28 이렇게 치면
품목 : a
----------------------------------------------------------------------
날짜 거래처 입고 출고 재고
----------------------------------------------------------------------
05-01-01 a 100
05-01-01 b 10
05-01-15 c 20
05-01-31 d 30
----------------------------------------------------------------------
월계 100 60 40
----------------------------------------------------------------------
05-02-01 a 100
05-02-01 b 30
05-02-15 a 100
05-02-28 d 150
-----------------------------------------------------------------------
월계 200 180
-----------------------------------------------------------------------
누계 300 240 60
-----------------------------------------------------------------------
이렇게 만들고 싶습니다.
검색을 하니까 union all을 쓰면 된다고 하시는데 정말 모르겠습니다.
db를 2개일때는 union all을 써서 잘 됐는데
db가 여러개이다보니까 도저히 모르겠습니다.
가르쳐주십시요........부탁합니다.
왜 이렇게 만들었을까??? 하는 의심이.. 월별 입,출자료가 그렇게 많은건지...흠...
품목별 인가요? 걍 노가다 하세요.
그리고 테이블들은 조건만큼만 넣으시면 되겠네요..
SELECT 품목, 날짜, 거래처, SUM(입고) AS 입고, SUM(출고) AS 출고, SUM(입고) - SUM(출고) AS 재고
FROM
(
-- 일계 --
SELECT 품목, 날짜, 거래처, 수량 AS 입고, 0 AS 출고, 0 AS 재고
FROM 입고1월테이블
WHERE 날짜 BETWEEN '20050101' AND '20050131'
UNION ALL
SELECT 품목, 날짜, 거래처, 수량 AS 입고, 0 AS 출고, 0 AS 재고
FROM 입고2월테이블
WHERE 날짜 BETWEEN '20050101' AND '20050131'
...
UNION ALL
SELECT 품목, 날짜, 거래처, 0 AS 입고, 수량 AS 출고, 0 AS 재고
FROM 출고1월테이블
WHERE 날짜 BETWEEN '20050101' AND '20050131'
UNION ALL
SELECT 품목, 날짜, 거래처, 0 AS 입고, 수량 AS 출고, 0 AS 재고
FROM 출고2월테이블
WHERE 날짜 BETWEEN '20050101' AND '20050131'
....
-- 월계 --
UNION ALL
SELECT 품목, '200501월계' AS 날짜, 거래처, 수량 AS 입고, 0 AS 출고, 0 AS 재고
FROM 입고1월테이블
WHERE 날짜 BETWEEN '20050101' AND '20050131'
UNION ALL
SELECT 품목, '200101월계' AS 날짜, 거래처, 0 AS 입고, 수량 AS 출고, 0 AS 재고
FROM 출고1월테이블
WHERE 날짜 BETWEEN '20050101' AND '20050131'
UNION ALL
SELECT 품목, '200502월계' AS 날짜, 거래처, 수량 AS 입고, 0 AS 출고, 0 AS 재고
FROM 입고1월테이블
WHERE 날짜 BETWEEN '20050101' AND '20050131'
UNION ALL
SELECT 품목, '200102월계' AS 날짜, 거래처, 0 AS 입고, 수량 AS 출고, 0 AS 재고
WHERE 날짜 BETWEEN '20050101' AND '20050131'
FROM 출고1월테이블
......
-- 누계 --
UNION ALL
SELECT 품목, '누계' AS 날짜, 거래처, 수량 AS 입고, 0 AS 출고, 0 AS 재고
FROM 입고1월테이블
WHERE 날짜 BETWEEN '20050101' AND '20050131'
UNION ALL
SELECT 품목, '누계' AS 날짜, 거래처, 0 AS 입고, 수량 AS 출고, 0 AS 재고
WHERE 날짜 BETWEEN '20050101' AND '20050131'
FROM 출고1월테이블
......
)
GROUP BY 품목, 날짜, 거래처
ORDER BY 품목, 날짜, 거래처