首页 > 解决方案 > 条件 SELECT 语句 MS Access SQL

问题描述

有没有办法在 MS-Access SQL 中创建类似的语句?

IF (STATEMENT)
    SELECT * FROM tbl1
ELSE
    SELECT * FROM tbl2

我正在研究一个遗留数据库,能够做到这一点将有助于优化一个深度嵌套的查询,该查询的根是 UNION ALL。通过删除这个在 99% 的情况下不需要的联合,运行时间会大大减少。

我已经研究和试验了 2 天,到目前为止,我发现的最接近的似乎可以工作的是在 Transact SQL 中运行 IF 语句的 BEGIN 和 END 语句,但不幸的是我没有找到任何东西女士访问 SQL。

任何帮助是极大的赞赏。

标签: sqlms-accessms-access-2016jet

解决方案


您可以使用union all,假设两个表具有相同的列:

select *
from tbl1
where <statement>
union all
select *
from tbl2
where not <statement>

推荐阅读