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'))
4

1 回答 1

0

您的查询还将返回 1,4 和 3,1。尝试这个:

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

这匹配括号之间定义的精确组合中的任何一个 (OR)。

由于运算符优先级,您可能不需要括号,但我喜欢在这种情况下使用它们,因为它可以很清楚哪些条件属于一起。

于 2013-10-29T21:31:53.157 回答