MySQL查询如何从单行返回多条记录?

时间:2012-11-26 16:27:50

标签: mysql

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

这样的查询怎么样?

1 个答案:

答案 0 :(得分:0)

这应该做你需要的:

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

逻辑是我们逐个选择每个条件所需的行,然后创建它们的并集。然而,这不是很好的规模......然而,我再也没有遇到过“野外”的要求......