Q&A

  • 이렇게 쿼리로 join 하려면 어떻게 하나요?
안녕하세요..... 델파이 초보자입니다.



쿼리로 조인하려는데요.... 데이타는 일반 델파이 제공 DBase 입니다.



데이타 A에는



입고일 자재코드 자재명 수량

----------------------------



데이타 B에는

출고일 자재코드 자재명 수량

-----------------------------



두 데이타를 아래처럼 join하려고 합니다.



입고일 출고일 자재코드 자재명 입고수량 출고수량

-----------------------------------------------



아니면

자재코드 자재명 입고수량 출고수량 으로라도...

---------------------------------



일반적으로 join하면 데이타가 같은 것이 2개씩 써지기도 하고 입고데이타는 입고수량에만 써지고, 출고데이타는 출고수량에만 써지길 원하는데,

정상적으로 나오지 않는군요... SQL Explorer에서 실험.



확실한 지도 편달 부탁드립니다...

설명이 부실해서 죄송합니다..











1  COMMENTS
  • Profile
    정성훈 2001.09.12 00:56
    박진우 wrote:

    > 안녕하세요..... 델파이 초보자입니다.

    >

    > 쿼리로 조인하려는데요.... 데이타는 일반 델파이 제공 DBase 입니다.

    >

    > 데이타 A에는

    >

    > 입고일 자재코드 자재명 수량

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

    >

    > 데이타 B에는

    > 출고일 자재코드 자재명 수량

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

    >

    > 두 데이타를 아래처럼 join하려고 합니다.

    >

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

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

    >

    > 아니면

    > 자재코드 자재명 입고수량 출고수량 으로라도...

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

    >

    > 일반적으로 join하면 데이타가 같은 것이 2개씩 써지기도 하고 입고데이타는 입고수량에만 써지고, 출고데이타는 출고수량에만 써지길 원하는데,

    > 정상적으로 나오지 않는군요... SQL Explorer에서 실험.

    >

    > 확실한 지도 편달 부탁드립니다...

    > 설명이 부실해서 죄송합니다..

    >

    >

    안녕하세요

    음 소스가 없어서 이렇게라두 지송요..



    > 데이타 A에는 입고일 자재코드 자재명 수량

    > 데이타 B에는 출고일 자재코드 자재명 수량

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

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

    보니까 자재코드와 자재명이 서로 같군요.



    SELECT A.입고일,

    B.출고일,

    A.자재코드,

    A.자재명,

    A.수량 입고수량,

    B.수량 출고수량

    FROM 입고테이블 A

    LEFT OUTER JOIN 출고테이블 B

    ON ( ( A.자재코드 = B.자재코드 )

    AND ( A.자재명 = B.자재명 ) )

    WHERE A.YEAR = :YEARNO

    ORDER BY A.입고일, B.출고일



    저기서 YEARNO 는 파람입니다. 년도월일 줘서 그 해당일자 검색시...



    ON문에 조건을 줬는데도 가끔 저두 중복될때가 있는데 왜 그런진 쩝...

    만약 데이타가 중복된게 나오면 WHERE 절 아래 ORDER 절 위에다가도

    아래 쓰시면 될겁니다.

    ON절엔 하나만 쓰셔두 되구요. 꼭 하나는 넣어야 하니까^^;

    ON 보단 WHERE 가 더 좋은가봐요 ㅡㅡ;



    AND A.자재코드 = B.자재코드

    AND A.자재명 = B.자재명



    수고하세요.