mysql - SQL查询从2个不同的表中获取唯一的日期范围
问题描述
我正在尝试创建一个查询以从 2 个不同的表中获取日期的位置。
表格1 :
开始日期 | 结束日期 | 地点 |
---|---|---|
2020-12-06 | 2020-12-31 | 纽约 |
表 2:
开始日期 | 结束日期 | 地点 |
---|---|---|
2021-01-06 | 2021-01-31 | 纽约 |
对于提供的日期,查询将首先查看表 1 并查看开始日期是否相等,如果不是则查看表 2。
解决方案
您可以通过联合将两个表视为一个虚拟表:
select Location
from (select *
from table1
union
select *
from table2) both
where `Start date` = '2021-01-06';
如果您不介意重复条件,则首先在每个表上分别应用条件,然后才进行连接,可能会提高性能:
select Location
from table1
where `Start date` = '2021-01-06';
union
select Location
from table2
where `Start date` = '2021-01-06';
推荐阅读
- javascript - 在打字稿中检查空值
- typescript - 带有对象解构的打字稿可选链接
- java - 如何在 Spring Boot 上以相同的方法回滚 2 个事务
- php - 按名称获取 woocommerce 类别 ID
- java - 如何在 REST GET 请求中指定空值的最佳实践
- java - 将 Matchers.eq() 与其他模拟值一起使用时出现 InvalidUseOfMatchersException
- python - Tensorflow 2 API:不推荐使用名称 tf.get_default_graph。请改用 tf.compat.v1.get_default_graph
- python - 如何在烧瓶服务器中提供 vueJS cli 应用程序
- c# - 使用 ASP.NET WebAPI C# 获取 AD 组在 Windows Server 2016 Datacenter 上不起作用
- terraform - 错误:数据 helm 存储库未按预期工作