同时查询特定日期范围的多个表

Query Multiple Tables For Specific Date Range Simultaneously

我有三个相同的table:

在每个 table 中,我有 YYYY-MM-DD 格式的 emailsubmited_date。我的最终目标是同时查询所有三个 table,但是当我在 emailsubmited_date 的 3 个 table 之间执行 UNION 时它忽略我的 WHERE 条件并显示所有结果的列。

我目前的查询如下:

SELECT email, submited_date FROM gradbusdb.user 
UNION
SELECT email, submited_date FROM gradedudb.user
UNION
SELECT email, submited_date FROM gradtheologydb.user
WHERE submited_date BETWEEN '2016-02-01' AND '2016-02-29'
ORDER BY submited_date ASC

我不确定我在这里做错了什么,但我需要我的查询只显示日期范围内的结果。

您应该对联合的每个查询使用 WHERE

SELECT email, submited_date FROM gradbusdb.user 
WHERE submited_date BETWEEN '2016-02-01' AND '2016-02-29'
UNION
SELECT email, submited_date FROM gradedudb.user
WHERE submited_date BETWEEN '2016-02-01' AND '2016-02-29'
UNION
SELECT email, submited_date FROM gradtheologydb.user
WHERE submited_date BETWEEN '2016-02-01' AND '2016-02-29'

ORDER BY submited_date ASC