我有一组字段,用户可以选择缩小搜索结果范围。最后两个选项是复选框,如果我描述了问题,请告诉我是否应该更改。
我有一个带有两个选项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项。
答案 0 :(得分:1)
试试这个:
where (check1 = 0 or A = 1) and (check2 = 0 or B = 1)
复选框的“0”表示所有内容,因此请将其包含在逻辑中。