有點麻煩,想象一下連接應該如何查找我試圖實現的特定結果集。SQL:加入三個表 - 內部/外部聯合外部聯接?
我有三個表格:項目,建議,服務。建議只是項目和服務之間的連接表,即項目可能有零個或多個推薦的服務;爲了捕獲這種關係,建議表對每個建議記錄都有一個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
我知道我需要加入該服務表爲好,但我不知道我是怎麼應該構造它。任何提示都表示讚賞。
除了通過'Recommendations'表之外,'Projects'和'Services'之間沒有關係? – 2011-03-02 15:33:05
這是正確的。 – David 2011-03-02 15:44:09