我是sql新手.我有三个表,我想将前两个表合并,然后将结果与第三个表一起加入并仅选择所需的日期.
我已经做过UNION,但是我不知道OUTER JOIN会如何进入.
这些是我的表:
TABLE_1
| ID | Name |
-------------------
| 1 | John |
| 2 | Peter |
TABLE_2
| ID | Name |
-------------------
| 3 | Anne |
| 4 | May |
TABLE_3
| ID | Name | Date |
--------------------------------
| 2 | Peter | 2019-02-13 |
| 3 | Anne | 2019-02-12 |
| 4 | May | 2019-02-13 |
现在这是我的查询,仅结合了TABLE_1和TABLE_2:
SELECT ID,Name FROM TABLE_1 UNION SELECT ID,Name FROM TABLE_2
我希望最终结果从TABLE_1和TABLE_2返回ID和名称,其中TABLE_3中的日期为2019-02-13.
我希望它看起来像这样:
| ID | Name | Date |
--------------------------------
| 2 | Peter | 2019-02-13 |
| 4 | May | 2019-02-13 |
最佳答案
尝试这个,
SELECT A.* FROM
(
SELECT ID,Name FROM TABLE_1
UNION
SELECT ID,Name FROM TABLE_2
) AS A
JOIN TABLE_3
ON TABLE_3.ID = A.ID AND TABLE_3.DATE = "2019-02-13"