Q&A

  • table join 및 outer join
원하는 결과물을 얻으려고 많은 생각을 했지만

잘안되서 조언을 받으려고 합니다



TABLE1 A TABLE B

F_Name name item qty name item char

AAA 01 1 AAA 01 가

AAA 02 2 BBB 01 나

BBB 01 3 CCC 02 다

CCC 01 1

위와같이 2개의 TABLE이 있고 다음과 같이

query를 했습니다



SELECT A.name, A.item, B.char

FROM A, B

WHERE A.name=editbox1.text and B.name=editbox1.text and A.item = B.item



editbox1.text의 값은 AAA입니다



결과값

AAA 01 가



그런데 제가 원하고자 하는 값은



AAA 01 가

AAA 02 NULL

입니다



outer join을 쓰기는 써야겠는데 어떻게 하는지를 잘모르
4  COMMENTS
  • Profile
    류동균 2000.03.11 09:15
    박용일씨 다음과 같이 하시면 됩니다.



    select A.name,A.item,B.char

    from A left outer join B on B.name = A.name and B.item = A.item

    where A.name = editbox1.text



    그럼 안녕히.



    박용일 wrote:

    > 원하는 결과물을 얻으려고 많은 생각을 했지만

    > 잘안되서 조언을 받으려고 합니다

    >

    > TABLE1 A TABLE B

    > F_Name name item qty name item char

    > AAA 01 1 AAA 01 가

    > AAA 02 2 BBB 01 나

    > BBB 01 3 CCC 02 다

    > CCC 01 1

    > 위와같이 2개의 TABLE이 있고 다음과 같이

    > query를 했습니다

    >

    > SELECT A.name, A.item, B.char

    > FROM A, B

    > WHERE A.name=editbox1.text and B.name=editbox1.text and A.item = B.item

    >

    > editbox1.text의 값은 AAA입니다

    >

    > 결과값

    > AAA 01 가

    >

    > 그런데 제가 원하고자 하는 값은

    >

    > AAA 01 가

    > AAA 02 NULL

    > 입니다

    >

    > outer join을 쓰기는 써야겠는데 어떻게 하는지를 잘모르
  • Profile
    박용일 2000.03.13 20:55
    류동균 wrote:

    > 박용일씨 다음과 같이 하시면 됩니다.

    >

    > select A.name,A.item,B.char

    > from A left outer join B on B.name = A.name and B.item = A.item

    > where A.name = editbox1.text

    >

    > 그럼 안녕히.

    >



    류동균님 답변고맙습니다

    덕분에 몇칠동안 고생한게 풀려습니다

    좋은 하루 되세요





  • Profile
    정주영 2000.03.11 02:10
    박용일 wrote:

    > 원하는 결과물을 얻으려고 많은 생각을 했지만

    > 잘안되서 조언을 받으려고 합니다

    >

    > TABLE1 A TABLE B

    > F_Name name item qty name item char

    > AAA 01 1 AAA 01 가

    > AAA 02 2 BBB 01 나

    > BBB 01 3 CCC 02 다

    > CCC 01 1

    > 위와같이 2개의 TABLE이 있고 다음과 같이

    > query를 했습니다

    >

    > SELECT A.name, A.item, B.char

    > FROM A, B

    > WHERE A.name=editbox1.text and B.name=editbox1.text and A.item = B.item

    >

    > editbox1.text의 값은 AAA입니다

    >

    > 결과값

    > AAA 01 가

    >

    > 그런데 제가 원하고자 하는 값은

    >

    > AAA 01 가

    > AAA 02 NULL

    > 입니다

    >

    > outer join을 쓰기는 써야겠는데 어떻게 하는지를 잘모르
  • Profile
    박용일 2000.03.13 20:58
    정주영 wrote:

    > 아래와 같이 하시면 될겁니다.

    > SELECT A.name, A.item, B.char1

    > FROM A, B

    > WHERE A.name*=b.name and A.item *= B.item and A.name='AAA'

    > 그럼, 즐거운 하루 되십시오.

    >



    정주영님 고맙습니다

    그런데 저는 delphi 4.0을 사용하는데

    *= 부분을 잘인식하지 못하는것 같은데요

    아니면 제가 코딩을 잘못한것가요