2014-10-08 219 views
0

我有一個頁面,名爲問題用戶被問到問題並且他/她可以選擇回答問題。這些問題從名爲的問題中抽取。當問題得到解答時,我的數據庫中一個名爲answers_questions的表格記錄了回答的問題的ID和回答問題的用戶的ID。這樣做的目的是在用戶再次訪問該頁面時隱藏已回答的問題。通過JOIN過濾結果

在頁面加載我試圖連接兩個表,看看是否存在兩個表,其中用戶ID是登錄的用戶在question_id。如果id在兩個表中都存在,那麼它不應該顯示使用<>的結果。 問題是其循環幾次每次迭代時,我嘗試以下查詢:

SELECT questions.question_id, questions.user_id 
FROM `questions` 
JOIN `answered_questions` 
ON questions.question_id <> answered_questions.question_id 
WHERE answered_questions.user_id = ".$userID." 

但是,當我使用這個

SELECT questions.question_id, questions.user_id 
FROM `questions` 
JOIN `answered_questions` 
ON questions.question_id **=** answered_questions.question_id 
WHERE answered_questions.user_id = ".$userID." 

我感覺到,我做錯了什麼,它工作正常與這一切的邏輯。任何幫助或線索將不勝感激。

回答

1

爲了讓懸而未決的問題,您可以使用LEFT JOIN

SELECT questions.question_id, questions.user_id 
FROM questions 
LEFT JOIN answered_questions 
    ON answered_questions.question_id = questions.question_id 
    AND answered_questions.user_id = ".$userID." 
WHERE answered_questions.question_id IS NULL 
+0

謝謝作品。 – Frisbetarian 2014-10-08 08:17:15