数据库
首页 > 数据库> > mysql-外连接加入UNION版本的表

mysql-外连接加入UNION版本的表

作者:互联网

我是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"

DB Fiddle Here

标签:outer-join,join,union,sql,mysql
来源: https://codeday.me/bug/20191211/2106342.html