2009-11-19 2 views
0

나는 두 테이블선택 쿼리 2008

create table tblchildinfo 
    (id int, name varchar(50), 
    pickuppointid int, dropdownpointid int) 

create table tblpoint(pointid int, PointName varchar(50)) 

그래서 내가 tblchildinfo 1 차 테이블 tblpoint와 자식 테이블이 있고 난 것 같은 명령문을 작성하려면 자식 ID 가져 오기, 자식 이름, 픽스 포인트 ID, 픽스 포인트 이름, 드롭 다운 포인트 ID & 드롭 다운 포인트 이름

SQL 서버 사용

답변

1
select c.id, c.name, p.name, p.pointid, p2.pointid, p2.name 
from tblchildinfo c 
join tblpoint p on c.pickuppointid = p.pointid 
join tblpoint p2 on c.dropdownpointid = p2.pointid 
where <Insert where clause> 

해야합니다.

+0

pickupPointName 및 PickUpPointId도 지정하십시오. : – hrishi

+0

을 추가했습니다. 원하는 각 필드에 선택기를 추가하기 만하면됩니다. 조인을 통해 두 테이블의 필드를 모두 사용할 수 있습니다. – Jimmeh

+0

나는 ur 도움 친구를 ... 평가한다 그러나 dropdownpoint 이름을 역시 원하는 ... ie 2 개의 다른 이름 및 2 개의 다른 ID에 밖으로 둬. tnx – hrishi

0

두 테이블에 대해 조건부 쿼리를 사용하거나 tblpoint에 LEFT JOIN을 사용하십시오. Btw, 가독성을 위해 나는 tbl_child_info와 tbl_point와 같은 'multi-word-name'테이블에 대해 unserscores를 사용하여 sugguest를 사용합니다.

+0

을 가질 것이라고 보장 할 수없는 경우 두 사람 모두 왼쪽 조인이 필요할 수도 있습니다. 그러나 나는 dropdownpoint 이름도 원한다. 두 개의 서로 다른 이름과 두 개의 다른 Id를 가진 아웃풋이 필요하다. – hrishi

+0

tbl 접두어는 쓸모가 없지만, CamelCase와 대문자 사용은 전적으로 주관적이다. 나는 테이블 이름에서 CamelCase를 선호하지만, 그 이유는 밑줄보다 읽기 쉽고 입력하기가 쉽기 때문입니다. YMMV. –