2016-12-26 43 views
-1

對於多語言測驗應用程序,我向包含必須翻譯的值的數據庫添加了一個新表(Answer_Lv)。在我的情況下,我想要第一個問題的所有答案與id 1.在這裏,我加入了2個表:Answer和Answer_Lv。正確的結果應該是4行(4個可能的答案),但我得到16行。帶有2個表的SQLite查詢顯示結果4次

這是我的查詢:

SELECT * 
FROM Answer, Answer_Lv 
WHERE Answer.question_id = 1 
AND Answer.question_id = Answer_Lv.question_id 

這是結果:

enter image description here

+0

如何question_id = 1在每個表中有很多記錄嗎? – GurV

+0

還有4條記錄question_id = 1 –

+0

4在哪張表中? – GurV

回答

1

通過它的外觀,你需要加入_id柱太:

SELECT * 
FROM Answer a, Answer_Lv b 
WHERE a.question_id = 1 
AND a.question_id = b.question_id 
AND a._id = b._id; 
+0

@Deno試試這個嗎? – GurV

+0

是的,謝謝。這工作。但是在WHERE子句中它必須是「a.question_id」。順便說一下:你認爲這是支持多語言的好方法嗎?與第二個表中的值必須翻譯 –

+0

謝謝。你應該把它作爲一個新問題發佈。有很多好人準備好幫助你。 – GurV