Q&A

  • outer Join
도와주십시요.



send_t테이블의 ext_no 와 port테이블의 Ext_no를 조인해서 port_t테이블의 part_no를 보여주려고 합니다.



sql은



select Send_t.paper_no , Send_t.Node, Send_t.Port, Send_t.Ext_no,

port_t.part_no as bb

From Send_t Left outer Join Port_t on send_t.Ext_no = Port_t.Ext_no

Where (Send_t.Rst <> 4) and (Send_t.Ext_no like '%' or Send_t.Ext_no is null) and (Send_t.Fax_no1 like '%' or Send_t.Fax_no1 is null)

order by paper_no



이렇습니다.



그런데,, 같은 row가 두개씩 나오는데,, 추측컨데,, port_t 테이블의 part_no가 null인 경우에만 그런것 같다고 합니다. (결과는 제가 보지 못했습니다.)

port_t테이블의 null인 part_no에 어떤 값을 입력하면 두줄이던Row가 한줄로만 나온다고 합니다.

감사합니다. 수고하십시요.

2  COMMENTS
  • Profile
    송종석 2001.04.14 01:44
    Oracle를 사용하시는 것 같군요. 아래 주소를 참고하세요.

    http://dblab.changwon.ac.kr/oracle/sqltest/step35.html



    활용예제: (업무분석이 안되었지만 이렇게 해 보심이..)

    Select S.Paper_No, S.Node, S.Port, S.Ext_No, P.Part_No as BB

    From Send_t S, Port_t P

    Where S.Ext_No (+) = Port_t.Ext_No

    And S.Rst <> 4

    Order By S.Paper_No;



    초보자 wrote:

    > 도와주십시요.

    >

    > send_t테이블의 ext_no 와 port테이블의 Ext_no를 조인해서 port_t테이블의 part_no를 보여주려고 합니다.

    >

    > sql은

    >

    > select Send_t.paper_no , Send_t.Node, Send_t.Port, Send_t.Ext_no,

    > port_t.part_no as bb

    > From Send_t Left outer Join Port_t on send_t.Ext_no = Port_t.Ext_no

    > Where (Send_t.Rst <> 4) and (Send_t.Ext_no like '%' or Send_t.Ext_no is null) and (Send_t.Fax_no1 like '%' or Send_t.Fax_no1 is null)

    > order by paper_no

    >

    > 이렇습니다.

    >

    > 그런데,, 같은 row가 두개씩 나오는데,, 추측컨데,, port_t 테이블의 part_no가 null인 경우에만 그런것 같다고 합니다. (결과는 제가 보지 못했습니다.)

    > port_t테이블의 null인 part_no에 어떤 값을 입력하면 두줄이던Row가 한줄로만 나온다고 합니다.

    > 감사합니다. 수고하십시요.

  • Profile
    류종택 2001.04.14 01:17
    파라독스에서는

    Select A.Field1, B.Field2 From TableName

    Where A.Field1 *= B.Field1

    였던거 같습니다.



    오라클에서는

    Select A.Field1, B.Field2 From TableName

    Where A.Field1 = B.Field1 (+)





    꿈꾸는 바보 류..





    초보자 wrote:

    > 도와주십시요.

    >

    > send_t테이블의 ext_no 와 port테이블의 Ext_no를 조인해서 port_t테이블의 part_no를 보여주려고 합니다.

    >

    > sql은

    >

    > select Send_t.paper_no , Send_t.Node, Send_t.Port, Send_t.Ext_no,

    > port_t.part_no as bb

    > From Send_t Left outer Join Port_t on send_t.Ext_no = Port_t.Ext_no

    > Where (Send_t.Rst <> 4) and (Send_t.Ext_no like '%' or Send_t.Ext_no is null) and (Send_t.Fax_no1 like '%' or Send_t.Fax_no1 is null)

    > order by paper_no

    >

    > 이렇습니다.

    >

    > 그런데,, 같은 row가 두개씩 나오는데,, 추측컨데,, port_t 테이블의 part_no가 null인 경우에만 그런것 같다고 합니다. (결과는 제가 보지 못했습니다.)

    > port_t테이블의 null인 part_no에 어떤 값을 입력하면 두줄이던Row가 한줄로만 나온다고 합니다.

    > 감사합니다. 수고하십시요.