sql - 条件 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。
任何帮助是极大的赞赏。
解决方案
您可以使用union all
,假设两个表具有相同的列:
select *
from tbl1
where <statement>
union all
select *
from tbl2
where not <statement>
推荐阅读
- swift - UITableView 在调用 reloadData 方法时返回 nil
- c++builder - TTrackBar > 未能绘制背景 > 如何修复?
- amazon-s3 - 尝试使用 Pyspark 访问 AWS S3 时出错
- python - python 程序中的多个 lambdas 导致 VS Code 报告“问题”
- php - 通过 SELECT Query 在 WHERE 中进行多个 AND SQL 服务器 2012
- scrapy - `reddit` 是否会阻止爬虫移动到下一页?
- python - 如何在 python 中为用户输入的光标位置设置默认值?
- anylogic - 代理停止的来源
- mysql - 在 MySQL 中使用 COUNT 选择具有多个相同值的行
- algorithm - 具有不同复杂度的算法的两个不同步骤