Q&A

  • Query 조건 검색 방법
안녕하세요.



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.21 00:34
    궁금함 wrote:

    > 안녕하세요.

    >

    > 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

    >



    이렇게 query 하는것을 "OUT JOIN 한다" 라고 하는데

    저의 짧은 지식으론 Paradox Table 로 위의 방법이 안되는걸로 알고 있습니다.



    그렇다고 해결 방법이 없느냐?

    잔머리(?) 를 쓴다면



    [A_Table] 에 NULL 코드를 넣어놓고 (두바이트 한글 공백문자)



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

    [ ] []

    Acd01 Anm01

    Acd02 Anm02

    Acd03 Anm03

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



    [B_Table] 에



    Bcd01 Bnm01 Acd01

    Bcd02 Bnm02 Acd01

    Bcd03 Bnm03 [ ]

    Bcd04 Bnm04 Acd02

    Bcd05 Bnm05 Acd03



    이렇게 데이터 처리 한 후에





    select BDB.B_code, BDB.B_name,A_code, ADB.A_name

    from "B.DB" BDB, "A.DB" ADB

    where (BDB.A_code = ADB.A_code)



    하시면 원하시는 결과가 나오긴 합니다.

    참고로 [ ] 요렇게 표시한 두바이트 한글 공백문자는 어떻게 입력하냐면요

    메모장에 ㄱ 자를 입력한 후에 한자 키를 누르면 두바이트 특수문자를

    선택하는 창이 나오는데 거기서 1 번을 선택하면 두바이트 공문자를

    입력할 수 있습니다.





    • 이영수
      2000.01.29 19:23
      castle load wrote: > 팝업 메뉴중에 아이템을 만들려면 오떻게 합니까? > > 예를들어, a.txt에서 오른...
    • 김양수
    • 2000.01.21 00:24
    • 3 COMMENTS
    • /
    • 0 LIKES
    • castle load
      2000.01.21 00:39
      김양수 wrote: > 두가지의 METHOD의 차이점이 궁금하군요. > 너무 기본적인 질문인가 창피하네요. > >...
    • 하얀까마귀
      2000.01.21 04:02
      castle load wrote: > 김양수 wrote: > > 두가지의 METHOD의 차이점이 궁금하군요. > > 너무 기본적인 ...
    • 강인규
      2000.01.21 23:36
      더 추가하자면 showmodal 명령은 일종의 인터럽트입니다. showmodal이 실행되면 그부분에서 해당프로그램은...
    • 김양수
    • 2000.01.21 00:20
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최재원
      2000.01.21 03:57
      제가 알고 있는데로 말씀드릴께요.. 도움이 되시길..... 먼저 form1(Mainform = 부모창) ---> object ...
    • 강정민
    • 2000.01.21 00:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이재식
      2000.01.21 03:54
      강정민 wrote: > qreport를 사용하고 있습니다. > > 이때 테이블에 있는 내용도 출력하면서 > 모든 페...
    • 밝은빛
    • 2000.01.20 23:26
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 하늘사랑
      2000.02.02 19:28
      밝은빛 wrote: > 안녕하세요.... > > 현재 Active-X를 이용하여 웹 페이지를 만들고 있습니다.. > ...
    • 유효종
      2000.01.20 23:42
      밝은빛 wrote: > 안녕하세요.... > > 현재 Active-X를 이용하여 웹 페이지를 만들고 있습니다.. > ...
    • 유효종
      2000.01.20 23:44
      초보 wrote: > edit1에는 한글을 edit2에는 영어를 입력해야만 하는경우에 > 자동으로 변환되게 할수 있...
    • 하얀까마귀
      2000.01.21 05:11
      맨발의청춘 wrote: > 계산 필드을 소트 할려고 합니다.어떻게 하는지요. > 혹시 안되나요. > 꼭 계산 필...
    • 박광범
    • 2000.01.20 22:35
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김주석
      2000.01.20 23:09
      박광범 wrote: > query 콤포넌트를 사용해서 update 를 하려 합니다.. > 이렇게 말로 하는 것보단 코딩을...
    • lee
      2000.01.20 22:59
      박광범 wrote: > query 콤포넌트를 사용해서 update 를 하려 합니다.. > 이렇게 말로 하는 것보단 코딩을...
    • 유효종
      2000.01.20 22:49
      박광범 wrote: > > 일단 StockB 라는 table 이 있고, 이 table은 ItemID 와 ItemName 과 No 라는 필드를...
    • 초보
    • 2000.01.20 22:10
    • 1 COMMENTS
    • /
    • 0 LIKES
    • nilriri
      2000.01.21 07:19
      초보 wrote: > 안녕하세요 > 델파이 고수님들의 도움이 필요해서 이렇게 > Error creating Cursor Handl...
    • 궁금함
    • 2000.01.20 21:52
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 유효종
      2000.01.21 00:34
      궁금함 wrote: > 안녕하세요. > > Delphi 4.0으로 프로그램을 개발 하는중에 몇가지 궁금사항이 있어...
    • neocity
    • 2000.01.20 21:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이곤섭
      2000.01.20 22:09
      neocity wrote: > 죄송한 질문이지만...... > Edit에서 특정한 스트링을 제거 하고 싶습니다. > StrPos(...
    • 김진호
    • 2000.01.20 20:10
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 배불뚝
      2000.01.20 23:38
      김진호 wrote: > 각각의 폼에 있는 컴포넌트의 이름을 스트링에 담으려고 합니다. > > 이것을 함수로 ...
    • 김진호
      2000.01.21 01:33
      혹시 다른폼에 있는 PageControl에 속하는 컴포넌트가 edit인 경우 (memo도 있고 combobox의 항목이 될수도...
    • 배불뚝
      2000.01.21 01:55
      김진호 wrote: > 혹시 다른폼에 있는 PageControl에 속하는 컴포넌트가 edit인 경우 (memo도 있고 combobo...
    • 김진호
      2000.01.22 21:47
      배불뚝 wrote: > 김진호 wrote: > > 혹시 다른폼에 있는 PageControl에 속하는 컴포넌트가 edit인 경우 (...
    • 유효종
      2000.01.20 23:06
      김진호 wrote: > 각각의 폼에 있는 컴포넌트의 이름을 스트링에 담으려고 합니다. > > 이것을 함수로 ...
    • 김진호
      2000.01.21 01:34
      혹시 다른폼에 있는 PageControl에 속하는 컴포넌트가 edit인 경우 (memo도 있고 combobox의 항목이 될수도...
    • 이대선
      2000.01.20 21:10
      용순이 wrote: > 프로그램을 만들때 화면해상도를 바꾸면 원래 만들었을때의 폼이나 컴포넌트,폰트등이 ...