条件性SELECT语句 MS Access SQL

问题描述 投票:0回答:1

有什么方法可以在MS-Access SQL中创建一个类似于这样的语句吗?

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

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

我已经研究和实验了2天,到目前为止,我找到的最接近工作的东西是在Transact SQL中运行IF语句的BEGIN和END语句,但不幸的是,我没有找到任何Ms-Access SQL的东西。

任何帮助都是非常感激的。

sql ms-access ms-access-2016 jet
1个回答
1
投票

你可以使用 union all,假设两个表的列数相同。

select *
from tbl1
where <statement>
union all
select *
from tbl2
where not <statement>
© www.soinside.com 2019 - 2024. All rights reserved.