Q&A

  • 편법이 아닌 Query 검색 방법
안녕하세요.



일전(1911)에 이와 같은 방법으로 질문을 올려 유호종분께 해답을 얻은바가

있어 이점 많은 감사와 고마움을 느낍니다. 아울러 제가 유호종분께 다른

의도가 있어 이런 글을 올리는게 아니란점을 미리 말씀드리고 싶습니다.

아래의 질문은 그때의 질문을 다시 올리게 되지만 Query의 SQL 구문만으로

아래의 문제를 해결하고 싶어 이렇게 글을 올립니다.

아울러 아래의 첫번째 필드가 Key 혹은 공백의 문자가 입력되지 않는 경우를

감안하여 편법이 아닌 SQL 구문상으로 이를 해결하고 싶으니 많은 다른분들의

의견을 듣고 싶습니다.

많은 답을 고수 여러분들에게 듣고 싶으니 모쪼록 많은 해답을 제시해 주었

으면 감사하겠습니다.



Delphi 4.0으로 프로그램을 개발 하는중에 몇가지 궁금사항이 있어 이렇게

글을 올려 봅니다. 모쪼록 이 글을 보시는 해박한 지식의 고수님들의 많은

답변을 부닥드립니다.

다름이 아니라 아래와 같은 경우에 어떻게 처리를 하는게 좋을지 몰라서...



Delphi의 Paradox DB를 이용하여 2개의 A_Table과 B_Table을 생성하고

이 두 Table를 Query를 이용하여 검색 하고자 합니다.

조건으로는 B_Table의 B_Join Field가 A_Table의 A_Code Field를 참조할

경우도 있고 참조 하지 않을 경우도 있다는 것입니다.

이때, Query를 이용하여 B_Table를 검색하는데 B_Table의 B_Join Field가

공백이면 A_Table를 참조하지 않고 공백이 아니면 A_Table를 참조하여 A_Name

Field를 보여 주고자 합니다.





[A_Table] A_Code A_Name

Acd01 Anm01

Acd02 Anm02

Acd03 Anm03





[B_Table] B_Code B_Name B_Join

Bcd01 Bnm01 Acd01

Bcd02 Bnm02 Acd01

Bcd03 Bnm03

Bcd04 Bnm04 Acd02

Bcd05 Bnm05 Acd03



Query 결과로는 아래와 같이 나왔으면 하는데 어떻게 해야 할지 몰라

Query 구문을 가르쳐 주셨으면 하는데 많은 답변을 부탁 드립니다.

제가 알고 있는 구문으론 조건을 어떻게 줘야 할지...



SELECT B_Tab.B_Code , B_Tab.B_Name , B_Tab.B_Join , A_Tab.A_Name

FROM "B_Table.DB" B_Tab , "A_Table.DB" A_Tab

???????????



[Query] B_Code B_Name B_Join A_Name

Bcd01 Bnm01 Acd01 Anm01

Bcd02 Bnm02 Acd01 Anm01

Bcd03 Bnm03

Bcd04 Bnm04 Acd02 Anm02

Bcd05 Bnm05 Acd03 Anm03



끝으로 다시한번 말씀드리지만 앞전의 유호종분께도 감사를 드리면서 다른

해답을 찾기 위한 것이니 널리 양지해 주시면 고맙겠습니다.



1  COMMENTS
  • Profile
    유효종 2000.01.24 22:05
    궁금함 wrote:

    > 안녕하세요.

    >

    > 일전(1911)에 이와 같은 방법으로 질문을 올려 유호종분께 해답을 얻은바가

    > 있어 이점 많은 감사와 고마움을 느낍니다. 아울러 제가 유호종분께 다른

    > 의도가 있어 이런 글을 올리는게 아니란점을 미리 말씀드리고 싶습니다.

    > 아래의 질문은 그때의 질문을 다시 올리게 되지만 Query의 SQL 구문만으로

    > 아래의 문제를 해결하고 싶어 이렇게 글을 올립니다.

    > 아울러 아래의 첫번째 필드가 Key 혹은 공백의 문자가 입력되지 않는 경우를

    > 감안하여 편법이 아닌 SQL 구문상으로 이를 해결하고 싶으니 많은 다른분들의

    > 의견을 듣고 싶습니다.

    > 많은 답을 고수 여러분들에게 듣고 싶으니 모쪼록 많은 해답을 제시해 주었

    > 으면 감사하겠습니다.

    >

    > Delphi 4.0으로 프로그램을 개발 하는중에 몇가지 궁금사항이 있어 이렇게

    > 글을 올려 봅니다. 모쪼록 이 글을 보시는 해박한 지식의 고수님들의 많은

    > 답변을 부닥드립니다.

    > 다름이 아니라 아래와 같은 경우에 어떻게 처리를 하는게 좋을지 몰라서...

    >

    > Delphi의 Paradox DB를 이용하여 2개의 A_Table과 B_Table을 생성하고

    > 이 두 Table를 Query를 이용하여 검색 하고자 합니다.

    > 조건으로는 B_Table의 B_Join Field가 A_Table의 A_Code Field를 참조할

    > 경우도 있고 참조 하지 않을 경우도 있다는 것입니다.

    > 이때, Query를 이용하여 B_Table를 검색하는데 B_Table의 B_Join Field가

    > 공백이면 A_Table를 참조하지 않고 공백이 아니면 A_Table를 참조하여 A_Name

    > Field를 보여 주고자 합니다.

    >

    >

    > [A_Table] A_Code A_Name

    > Acd01 Anm01

    > Acd02 Anm02

    > Acd03 Anm03

    >

    >

    > [B_Table] B_Code B_Name B_Join

    > Bcd01 Bnm01 Acd01

    > Bcd02 Bnm02 Acd01

    > Bcd03 Bnm03

    > Bcd04 Bnm04 Acd02

    > Bcd05 Bnm05 Acd03

    >

    > Query 결과로는 아래와 같이 나왔으면 하는데 어떻게 해야 할지 몰라

    > Query 구문을 가르쳐 주셨으면 하는데 많은 답변을 부탁 드립니다.

    > 제가 알고 있는 구문으론 조건을 어떻게 줘야 할지...

    >

    > SELECT B_Tab.B_Code , B_Tab.B_Name , B_Tab.B_Join , A_Tab.A_Name

    > FROM "B_Table.DB" B_Tab , "A_Table.DB" A_Tab

    > ???????????

    >

    > [Query] B_Code B_Name B_Join A_Name

    > Bcd01 Bnm01 Acd01 Anm01

    > Bcd02 Bnm02 Acd01 Anm01

    > Bcd03 Bnm03

    > Bcd04 Bnm04 Acd02 Anm02

    > Bcd05 Bnm05 Acd03 Anm03

    >

    > 끝으로 다시한번 말씀드리지만 앞전의 유호종분께도 감사를 드리면서 다른

    > 해답을 찾기 위한 것이니 널리 양지해 주시면 고맙겠습니다.

    >



    제 이름은 유호종이 아니고 유효종 입니다.

    편법을 싫어하신다니 ...

    여기 저기서 자료를 찾아본 결과 paradox 도 out join 을 지원하더군요



    SELECT B_Tab.B_Code , B_Tab.B_Name , B_Tab.B_Join , A_Tab.A_Name

    FROM "B_Table.DB" B_Tab Left outer join "A_Table.DB" A_TAB

    ON B_Tab.B_Join = A_TAB.A_Code



    자 이제