【发布时间】:2011-03-13 05:57:22
【问题描述】:
如果 select * from table where x=1 返回 0 行,那么我需要 select * from table where x=2 [or some other query]。是否可以在带有条件语句的单个 MySQL 查询中执行此操作?
编辑:UNION 的所有答案都有效,但前提是两个查询都从同一个表(或具有相同列数的表)中选择。如果将第二个查询应用于具有连接的不同表怎么办?
让我写下我的疑问以使问题更清楚:
第一:
SELECT table1.a, table2.b from table1 LEFT JOIN table2 ON table2.x= table1.x
WHERE .....
如果第一个结果为空,则:
第二次:
SELECT table1.a FROM table1
WHERE ....
如果有返回值,我将使用第一个查询中的行,否则将使用第二个。
【问题讨论】:
-
您是否有理由要使用单个 MySQL 查询而不是使用程序逻辑和两个单独的查询?
标签: mysql select conditional if-statement