我有一个包含3个字段(包括其他字段)的表,对于每个字段等于1,我需要查询来返回记录。
因此,如果所有3个字段都等于1,则查询应该给出3条记录
如果两个字段(三个中的任何一个)等于1,则查询应返回2条记录,依此类推。
这样的查询怎么样?
答案 0 :(得分:0)
这应该做你需要的:
SELECT * from table WHERE field1=1
UNION ALL
SELECT * from table WHERE field2=1
UNION ALL
SELECT * from table WHERE field3=1
逻辑是我们逐个选择每个条件所需的行,然后创建它们的并集。然而,这不是很好的规模......然而,我再也没有遇到过“野外”的要求......