我正在尝试创建一个查询以从 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';