FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird Q&A
[2637] Re:Re:Re:아래 join 추가 질문 좀 드립니다....
까막 [ggamagui] 2156 읽음    2007-11-13 11:34
questman 님이 쓰신 글 :
: 답변 감사합니다.
: view 를 만들기 위해서 join을 했습니다.
: 여러 table의 join이 같이 이루어 집니다.
:
: 푸른솔님의 말씀대로 하면 결과는 이렇게 나옵니다.
: 날짜   A-table.code_make    B-table.client_name      A-table.code_saler       B-table.client_name
:  -------------------------------------------------------------------------------------
:  0000     00001                      일번회사(생산자)             0002                              일번회사(생산자)<--판매자가 와야됨...
:
: 제가 원하는 바를 다시한번 더 설명 드리면.....

:  A-Table                        B-Table(생산자,판매자 같이 등록됨)
:  -----------------       ------------
:  ..                                   ..거래처코드(client_code)
:  ..code_make(생산자)      ..거래처명(client_name)
:  ..                                  ..
:  ..code_sailer(판매자)      ..
:  ..                                   -------------
:  ..
:  ------------------

:  얻고자 하는 결과
:  날짜   A-table.code_make    B-table.client_name      A-table.code_sailer       B-table.client_name
:  -------------------------------------------------------------------------------------
:  0000     00001                      일번회사(생산자)             0002                              이번회사(판매자)

:  select A-table.날짜,A-table.code_make(생산자),B-table.client_name(생산자명),A-table.code_sailer(판매자),
:  B-table.client_name(판매자) from A-table
:  left outer join B-table on A-table.code_make(생산자) = B-table.client_name
:  left outer join B-table on A-table.code_sailer(판매자) = B-table.client_name;
:
: 자꾸 한곳에만 신경 쓰다보니 저도 헷갈리 네요..ㅠㅠ

안녕하세요. 까막입니다.

우선 전제 조건이 필요한데요.
Code_Make 와 Code_Sailer 가 각각의 필드로 존재하는 거죠?
그렇다면 아래처럼 하시면 될겁니다.

SELECT A.Date,     A.Code_Make,     B.Client_Name,     A.Code_Sailer,     C.Client_Name
FROM    A-Table  A
                                     LEFT  JOIN            B-Table             B
                           ON (A.Code_Make    =     B.Client_Code)
                                     LEFT  JOIN            B-Table             C
                           ON (A.Code_Sailer   =     C.Client_Code)

같은 테이블(B-Table)을 두번 JOIN 을 걸면 이름 충돌이 나니까요.
별칭을 줘서 구분을 해줘야 겠죠.
B-Table 에 대해서 B 와 C 로 별칭을 다르게 줘서 내가 B, C 어디에 접근하려고 하는지를 명확히 구분해 줘야 합니다.




위대한 단군혼이 살아있는 나라.... 대한민국.

+ -

관련 글 리스트
2632 아래 join 추가 질문 좀 드립니다.... questman 1936 2007/11/12
2634     Re:아래 join 추가 질문 좀 드립니다.... 푸른솔 1767 2007/11/13
2635         Re:Re:아래 join 추가 질문 좀 드립니다.... questman 2082 2007/11/13
2637             Re:Re:Re:아래 join 추가 질문 좀 드립니다.... 까막 2156 2007/11/13
2638                 Re:Re:Re:Re:답변 감사합니다. questman 2172 2007/11/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.