現在我只是開始進入連接,所以我可能錯過了它的一些核心理解,但這裏是我想要做的:我如何構建這個JOIN語句?在條件有問題
我有一個表配置文件和幾個表(角色,技能,職稱等)與一個profile_id,一些不相關的數據和一個value_id(一對一的關係)
用戶將輸入一個不同的value_ids數組,我想檢索所有配置文件的id一個與我們從用戶檢索到的值相匹配的value_id的對應表。
輸入中的某些值被指定爲僅與某個表(此例中的角色和行業)匹配,並且該部分現在正在工作。然而,我不能做的是檢查的任何是否匹配相關表格。
我不知道如何設計這個塊的樣式。抱歉。編輯:它自己設計。整齊。
在這個例子中,我有三個值。一個(88)被指定爲搜索某個角色,一個用於行業(128),第三個(73)必須匹配一組表中的至少一行。
SELECT DISTINCT(profiles.id) as id,
FROM profiles
INNER JOIN profile_experience_roles r ON(r.profile_id = profiles.id)
INNER JOIN profile_experience_industries i ON(i.profile_id = profiles.id)
INNER JOIN profile_experience_technology t ON(t.profile_id = profiles.id)
INNER JOIN profile_wanted_roles w ON(w.profile_id = profiles.id)
INNER JOIN profile_languages l ON(l.profile_id = profiles.id)
WHERE r.value_id = 88 AND i.value_id = 128 AND
(r.value_id = 73 OR i.value_id = 73 OR t.value_id = 73 OR w.value_id = 73 OR l.value_id = 73)
最後一行是什麼導致的問題。任何幫助表示讚賞。
此外,我從未在此發佈過,所以我不知道我在做什麼。
感謝
和出色的符號'編輯:標榜自己。 Neat.'!你做了我的晚上! :) –