0

我有一组字段供用户选择以缩小搜索结果的范围。最后两个选项是复选框,请在我描述问题后告诉我是否应该更改此选项。

我有一个包含两个选项 A 和 B 的项目列表。这些在数据库中标记为 0 表示否,1 表示是。这些选项可以标记在一个、另一个或两者上。

Item 1 (0,1)
Item 2 (1,1)
Item 3 (1,0)

如果用户选中第一个框,我想检索项目 2 和 3。如果用户选中第二个框,我想检索项目 1 和 2。如果他们选中两个框,我想检索所有项目。

我想我需要做类似的事情:

WHERE (A = check1 AND ( B = 0 OR B = 1 )) 
  AND (B = check2 AND ( A = 0 OR A = 1 ))

但它不起作用。选中检查 1,我只得到第 3 项,而不是第 2 项和第 3 项。

4

1 回答 1

1

试试这个:

where (check1 = 0 or A = 1) and (check2 = 0 or B = 1)

复选框的“0”表示一切,因此将其包含在逻辑中。

于 2013-03-28T02:49:48.010 回答