2013-10-29 65 views
0

我有這樣從表中選擇取決於值從兩個柱

id | question | unit | lesson 
1 | how  | 1 | 2 
2 | when  | 1 | 3 
3 | where  | 1 | 4 
4 | what  | 2 | 1 
5 | how many | 2 | 2 
6 | how much | 3 | 1 
7 | how long | 3 | 3 
8 | how this | 3 | 4 
9 | what is | 3 | 6 

和我有一個單元和教訓複選框表,用戶從中選擇 如何從表中選擇取決於用戶選擇 例如:用戶選擇(1,3),(3,4)

我的代碼

SELECT * FROM `prim_3` WHERE (unit IN ('1' , '3')) AND (lesson IN ('3','4')) 
+1

什麼不適用於該代碼?對我來說似乎很好 –

+0

請澄清您的具體問題或添加其他詳細信息,以確切地突出顯示您的需求。正如目前所寫,很難確切地說出你在問什麼。 – Kermit

回答

0

您的查詢也將返回1,4和3,1。試試這個:

SELECT * FROM `prim_3` WHERE 
    (unit = '1' AND lesson = '3') OR 
    (unit = '3' AND lesson = '4') 

這匹配括號中定義的確切組合的(或)。

由於operator precedence,您可能不會嚴格需要括號,但我喜歡在這種情況下使用它們,因爲它可以很清楚地說明哪些條件屬於一起。