Q&A

  • 쿼리를 어떻게 해야 할까요?
안녕하세요?
머리가 굳었는지 쿼리를 어떻게 해야할지 감이 안 오네요..

A테이블 (발주테이블)
-----------------------------------------
발주번호, 품목코드, 발주일, 발주수량
000001, AAA, 2008.01.01, 100
000002, BBB, 2008.01.02, 100
000003, AAA, 2008.02.01, 200

B테이블 (납품테이블)
----------------------------------------
발주번호, 품목코드, 입고일, 입고수량
000001, AAA, 2008.01.02, 50
000001, AAA, 2008.01.03, 50
000002, BBB, 2008.01.15, 100
000003, AAA, 2008.02.05, 200


이런 테이블이 있다고 하면
발주번호와 품목코드를 뽑은 후에 B테이블에서 가장 빠른 입고일과 입고수량을 뽑아서
아래와 같은 결과값을 보고 싶습니다.
만약에 한 발주번호로 몇번 나누어 입고가 되었다면 최초것을 제외하고는 무시하는 거죠.

결과쿼리
발주번호, 품목코드, 발주일, 발수수량, 최초입고일, 최초입고수량
000001, AAA, 2008.01.01, 100, 2008.01.02, 50
000002, BBB, 2008.01.02, 100, 2008.01.15, 100
000003, AAA, 2008.02.01, 200, 2008.02.05, 200


이해가 가시려나... ㅠ_ㅠ
조언 좀 부탁드립니다.
2  COMMENTS
  • Profile
    프리러너 2009.02.25 02:13
    *^^*
    안녕하세요~~~ ^^

    특정한 방법은 상관없이 결과만 원하는 것이라면
    아래와 같이 하면 안될까요~~~ ^^


    select
    a.발주번호 as 발주번호
    , a.품목번호 as 품목번호
    , a.발주일
    , a.발주수량
    , b.최초입고일
    , b.최초입고수량
    from A테이블 a
    , (
    select
    b.발주번호
    , b.품목코드
    , max(입고일) as 최초입고일
    , max(입고수량) as 최초입고수량
    from B테이블 b
    A테이블 a
    where b.발주번호 = a.발주번호
    and b.품목코드 = a.품목코드
    and b.발주일 < a.발주일
    group by b.발주일, b.품목코드
    ) b
    where a.발주번호 = b.발주번호
    and a.품목코드 = b.품목코드



    그럼. 오늘도 조은 하루 되세요 *^^*
  • Profile
    박종철 2009.02.28 01:08
    감사합니다~ ^^