조인이 특정 결과 집합을 찾는 방법을 시각화하는 데 어려움을 겪고 있습니다.SQL : 세 개의 테이블 조인 - 내부/외부 조인 결합?
나는 프로젝트, 권장 사항, 서비스라는 세 개의 테이블을 가지고 있습니다. 권장 사항은 프로젝트와 서비스 간의 조인 테이블 일뿐입니다. 즉, 프로젝트는 0 개 이상의 권장 서비스를 가질 수 있습니다. 그 관계를 포착하기 위해 Recommendations 테이블에는 각 권장 레코드에 대한 project_id 및 service_id가 있습니다.
그래서, 관련 필드 :
Projects.id | Recommendations.project_id | Recommendations.service_id | Services.id
나는 특정 서비스에 대한 추천이 없습니다있는 모든 프로젝트의 목록을 끌어 노력하고있어. 나는 전혀 권고가없는 한 모든 프로젝트를 가져옵니다 다음을 가지고, 즉 :
SELECT * from projects P
LEFT OUTER JOIN Recommendations R ON P.id = R.project_id
WHERE R.project_id IS NULL
가 나는뿐만 아니라 서비스 테이블에 가입해야합니다 알고,하지만 난 모르겠어요 어떻게을 그것을 구조화해야합니다. 모든 팁을 부탁드립니다.
SELECT * FROM projects WHERE NOT EXISTS (SELECT * FROM recommendations WHERE project_id=projects.id AND recommendations.service_id=10)
'추천'테이블 이외의 '프로젝트'와 '서비스'간에는 아무런 관계가 없습니까? –
맞습니다. – David