Q&A

  • [sql] 다른 테이블의 필드를 2번 참조할경우는??


안녕하세여..?? 즐거운 크리스마스를 보내셨는지

이번 문제는 필드를 2번 나타낼경우 입니다.



테이블 A 데이블 B



번호 이전데이터 현재데이터 코드 데이터

1 100 200 100 시__작

2 200 300 200 점__검

3 400 100 300 종__료

4 300 500 400 이__상

5 200 300 500 몰__라



위와 같은 테이블이 2개가 있을경우 A테이블의 이전데이터와 현재 데이터를 테이블 B의

코드값을 대조해서 데이터내용을 보여줄라구 하거덩여





select a.번호,b.데이터 as 이전데이터,b.데이터 as 현재데이터

from a,b where a.이전데이터 = b.코드 or a.현재데이터 = b.코드;



이렇게 해보았더니 당연히 안되네영..ㅠ.ㅜ)



문제는 필드를 2번써야 하기 때문인데....한번만 쑤게 해보릴까..--,.--)



크리스 마스 연휴내내 술만 들이따 퍼 먹었더니..속만 쓰리네영...님들

술 조금씩만 드세영...^^ 구럼 오늘 하루도...잼있게..^^

3  COMMENTS
  • Profile
    ... 2000.12.26 20:40
    김규겸 wrote:

    >

    > 안녕하세여..?? 즐거운 크리스마스를 보내셨는지

    > 이번 문제는 필드를 2번 나타낼경우 입니다.

    >

    > 테이블 A 데이블 B

    >

    > 번호 이전데이터 현재데이터 코드 데이터

    > 1 100 200 100 시__작

    > 2 200 300 200 점__검

    > 3 400 100 300 종__료

    > 4 300 500 400 이__상

    > 5 200 300 500 몰__라

    >



    select a.번호,b.데이터 as 이전데이터,

    c.데이터 as 현재데이터

    from atable a,

    btable b,

    btable c

    where a.이전데이터 = b.코드

    and a.현재데이터 = c.코드





  • Profile
    김규겸 2000.12.26 21:17
    빠르고 정확한 답변 넘 감사함다.. 잘 되네영.. 군데 문제가 하나있네영.

    테이블 A의 이전데이터와 현재데이터가 테이블 B의 코드값과 일치하지 않을 경우 아예 날려버리는 문제가 있군여...코드값에 없는 코드를 어케 처리해야 할까나..

    구냥...버리기엔 위험한데.... ㅠ.ㅜ)





    ... wrote:

    > 김규겸 wrote:

    > >

    > > 안녕하세여..?? 즐거운 크리스마스를 보내셨는지

    > > 이번 문제는 필드를 2번 나타낼경우 입니다.

    > >

    > > 테이블 A 데이블 B

    > >

    > > 번호 이전데이터 현재데이터 코드 데이터

    > > 1 100 200 100 시__작

    > > 2 200 300 200 점__검

    > > 3 400 100 300 종__료

    > > 4 300 500 400 이__상

    > > 5 200 300 500 몰__라

    > >

    >

    > select a.번호,b.데이터 as 이전데이터,

    > c.데이터 as 현재데이터

    > from atable a,

    > btable b,

    > btable c

    > where a.이전데이터 = b.코드

    > and a.현재데이터 = c.코드

    >

    >

  • Profile
    ... 2000.12.26 22:02
    김규겸 wrote:

    > 빠르고 정확한 답변 넘 감사함다.. 잘 되네영.. 군데 문제가 하나있네영.

    > 테이블 A의 이전데이터와 현재데이터가 테이블 B의 코드값과 일치하지 않을 경우 아예 날려버리는 문제가 있군여...코드값에 없는 코드를 어케 처리해야 할까나..

    > 구냥...버리기엔 위험한데.... ㅠ.ㅜ)

    >

    >

    > ... wrote:

    > > 김규겸 wrote:

    > > >

    > > > 안녕하세여..?? 즐거운 크리스마스를 보내셨는지

    > > > 이번 문제는 필드를 2번 나타낼경우 입니다.

    > > >

    > > > 테이블 A 데이블 B

    > > >

    > > > 번호 이전데이터 현재데이터 코드 데이터

    > > > 1 100 200 100 시__작

    > > > 2 200 300 200 점__검

    > > > 3 400 100 300 종__료

    > > > 4 300 500 400 이__상

    > > > 5 200 300 500 몰__라

    > > >

    > >

    > > select a.번호,b.데이터 as 이전데이터,

    > > c.데이터 as 현재데이터

    > > from atable a,

    > > btable b,

    > > btable c

    > > where a.이전데이터 = b.코드

    > > and a.현재데이터 = c.코드



    outer join을 사용하세요..

    음....오라클의경우 '(+)' 를 사용하심되지요.





    select a.번호,b.데이터 as 이전데이터,

    c.데이터 as 현재데이터

    from atable a,

    btable b,

    btable c

    where a.이전데이터 = b.코드

    and a.현재데이터 = c.코드(+)



    이거든가? 아님....하두 써본지 오래라서 죄송 --;;;;



    where a.이전데이터 = b.코드

    and a.현재데이터(+) = c.코드