我遇到以下SQL查詢問題。正如你所看到的,我加入了一些表格(candidate_basic,candidate_lang,province_of_candidate,province,degree_of_candidate),然後我用另一個表「professional_experience_basic」加入結果,但是查詢返回了幾個實例(例如:它爲id_candidate_basic = 55,或者它返回id_candidate_basic = 59的三個實例)。如何使用LEFT JOIN優化此SQL查詢?
我的問題是,我只希望查詢返回每個id_candidate_basic 1實例。也就是說,具有值「1」的屬性「main_job」的實例,如果這不可能,則只是一個空值。
我試圖把和professional_experience_basic.main_job = 1 WHERE子句中,但是,它刪除實例與main_job = NULL。
我覺得我已經接近最後的結果,但是我在這最後的努力中花了很多時間。有誰知道解決方案? 在此先感謝。
查詢:
SELECT DISTINCT
candidate_basic.id_candidate_basic,
candidate_lang.town,
province.name,
degree_of_candidate.id_degree_of_candidate,professional_experience_basic.main_job
FROM (((((candidate_basic
INNER JOIN candidate_lang
ON candidate_lang.id_candidate_basic=candidate_basic.id_candidate_basic)
INNER JOIN province_of_candidate
ON province_of_candidate.id_candidate_basic=candidate_basic.id_candidate_basic)
INNER JOIN province
ON province.id_province=province_of_candidate.id_province)
INNER JOIN degree_of_candidate
ON degree_of_candidate.id_candidate_basic=candidate_basic.id_candidate_basic)
LEFT JOIN professional_experience_basic
ON professional_experience_basic.candidate_id=candidate_basic.id_candidate_basic)
WHERE candidate_basic.candidate_state=2
AND degree_of_candidate.is_main_degree
AND candidate_lang.id_website_lang=1
目前的結果是:
結果我想:
由於內特C-K。它完美地運作。 –