我有这样的表
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'))
答案 0 :(得分:0)
您的查询也将返回1,4和3,1。试试这个:
SELECT * FROM `prim_3` WHERE
(unit = '1' AND lesson = '3') OR
(unit = '3' AND lesson = '4')
这匹配括号中定义的确切组合的(OR)。
由于operator precedence,您可能不会严格需要括号,但我喜欢在这种情况下使用它们,因为它非常清楚哪些条件属于一起。