2012-10-12 3 views
0

사용자 관련 정보가 여러 테이블로 분할되었습니다. 단일 사용자에 대한 데이터를 검색하기 위해 조인을 작성하려고합니다. 많은 정보가 선택 사항이므로 많은 열의 항목이 null 일 수 있습니다. 이는 괜찮습니다.단일 사용자에 대한 레코드 검색을위한 SQL 조인

First_Name | Last Name | Website 
ABC   XYZ   Null  

ABC가있다 : 나는 내가 '69'

SELECT cur_doctor_names.First_Name, cur_doctor_Names.Last_Name, w.Website 
FROM cur_doctor_names 
LEFT JOIN (

SELECT * 
FROM cur_website 
WHERE Userid =69 
) AS w ON cur_doctor_names.UserId = w.Userid 

나는 다음과 같은 결과를 원하는

ID로 사용자를 할 때 모든 사용자를 반환하는 것을 제외하고 노력하고, 다음과 같은 쿼리를 작성했습니다 ID가 69 인 사용자의 이름입니다.

답변

2

왼쪽 가입을 사용하고 있기 때문에 웹 사이트 만 필터링하고 있습니다. 당신은 의사 테이블에 필터를 적용해야

SELECT 
    cur_doctor_names.First_Name, 
    cur_doctor_Names.Last_Name, 
    w.Website 
FROM 
    cur_doctor_names 
     LEFT JOIN cur_website AS w 
     ON cur_doctor_names.UserId = w.Userid 
WHERE  
    cur_doctor_names.UserId = 69 
2

이처럼 쓰기 시도 - 절 (도 왼쪽이 필요하지 않습니다 조인 그런 식으로 작성하는) 잘못된 장소에 어디에 :

SELECT cur_doctor_names.First_Name, cur_doctor_Names.Last_Name, w.Website 
FROM cur_doctor_names 
    LEFT JOIN cur_website as w 
    ON cur_doctor_names.UserId = w.Userid 
WHERE cur_doctor_names.userId = 69 
1

쓸 수있을 것이라고 생각합니다.

SELECT cur_doctor_names.First_Name, cur_doctor_Names.Last_Name, w.Website 
FROM cur_doctor_names 
LEFT JOIN cur_website w ON cur_doctor_names.UserId = w.Userid 
WHERE Userid =69 
관련 문제