-1

我有一个表,其中包含 3 个字段(除其他外),每个字段都等于 1,我需要查询来返回记录。
因此,如果所有 3 个字段都等于 1,则查询应该给出 3 条记录。
如果两个字段(三个字段中的任何一个)等于 1,则查询应返回 2 条记录,依此类推。

这样的查询看起来如何?

4

1 回答 1

0

这应该做你需要的:

SELECT * from table WHERE field1=1
UNION ALL
SELECT * from table WHERE field2=1
UNION ALL
SELECT * from table WHERE field3=1

逻辑是我们为每个条件一一选择我们需要的行,然后创建它们的并集。然而,这是真的,这并不能很好地扩展......再说一次,我从来没有遇到过“野外”这个要求......

于 2012-11-26T16:30:31.497 回答