我在我的表結構和查詢結果中遇到問題,我想要的是,它只會輸出一個結果,這是第一個結果。我應該做什麼改變我的桌子結構?因爲它只返回相同的輸出但不同的prf_id。SQL查詢LEFT JOIN導致兩個輸出,但應該只有一個
所以這裏是情況。 tbl_prf是針對人員的要求。 tbl_job_plist用於發佈的工作,tbl_applicant用於申請人。當我在tbl_prf中添加一個條目時,它會從其參考示例的tbl_job_plist中選擇條目。然後,當我試圖查看申請人時,需要顯示選定的tbl_job_plist的tbl_prf ID和ID。所以我就是這樣編寫代碼的。當我查看申請人時會發生什麼?它會選擇導致兩個輸出與同一個申請人的兩個tbl_prf條目。
我想要做的是獲得ap_status爲1的申請人。正如你所看到的,我只有一個申請人,所以我只期待一個結果。如果prf_job_post_ref和jplist_id相等,應用程序名稱會持續顯示結果。我如何防止它? tbl_prf
prf_id | prf_job_post_ref |
------------------------------------
1 | 1 |
3 | 1 |
tbl_job_plist
jplist_id | jplist_position |
------------------------------------
1 | Crew |
tbl_applicant
ap_id | ap_position_applied | ap_status | ap_name |
----------------------------------------------------------
1 | 1 | 1 | Kurt |
QUERY
SELECT
tbl_applicant.ap_id,
tbl_applicant.ap_name,
tbl_job_plist.jplist_id,
tbl_prf.prf_id
FROM tbl_applicant
LEFT JOIN tbl_job_plist ON tbl_applicant.ap_position_applied = tbl_job_plist.jplist_id
LEFT JOIN tbl_prf ON tbl_job_plist.jplist_id = tbl_prf.prf_job_post_ref
WHERE ap_status = 1
結果
ap_id | jplist_id | prf_id | ap_name |
-----------------------------------------------------------
1 | 1 | 1 | Kurt |
1 | 1 | 3 | Kurt |
你的問題不清楚。 SQL是正確的,你會得到2行,沒有錯。你的數據意味着什麼?你想讓它告訴你什麼? – Elliveny
我想要的只是一個結果會出現,二者之一。我知道我的查詢是錯誤的,如果我想實現這一結果。那麼你會建議我需要做些什麼來糾正它? – user3235016
限制行數可以使用rowcount = 1。但是我還不清楚你想達到什麼目的。如果你啃桌子可能會給你重複嘗試刪除重複之前,你把加入。 – Avi