【发布时间】:2018-06-19 01:59:48
【问题描述】:
我正在寻找可以执行以下操作的 MySQL 查询。
我有 2 个结构相同的表,其中键是前 4 个字段:
Table 1:
| DATE | TYPE | CITY | ID | AMOUNT |
|2018-01-01 | SALE | NYC | 001 | 10.00 |
|2018-01-05 | PURCH | LA | 002 | 15.00 |
|2018-01-08 | SALE | LA | 001 | 17.00 |
|2018-02-09 | PURCH | NYC | 002 | 12.00 |
Table 2:
| DATE | TYPE | CITY | ID | AMOUNT |
|2018-01-01 | SALE | NYC | 001 | 11.00 |
|2018-01-05 | PURCH | LA | 002 | 14.00 |
|2018-01-08 | SALE | LA | 001 | 16.00 |
|2018-02-09 | PURCH | NYC | 002 | 13.00 |
|2018-05-01 | SALE | WASH | 004 | 11.00 |
|2018-08-08 | SALE | NYC | 001 | 12.00 |
我想要一个单一的视图/查询,如果它存在则来自 table1 的结果,如果它在 table1 中不存在,则来自 table2 的结果具有相同的键。在此示例中,将包含 table1 的前 4 行和 table 2 的后 2 行:
| DATE | TYPE | CITY | ID | AMOUNT |
|2018-01-01 | SALE | NYC | 001 | 10.00 |
|2018-01-05 | PURCH | LA | 002 | 15.00 |
|2018-01-08 | SALE | LA | 001 | 17.00 |
|2018-02-09 | PURCH | NYC | 002 | 12.00 |
|2018-05-01 | SALE | WASH | 004 | 11.00 |
|2018-08-08 | SALE | NYC | 001 | 12.00 |
表 2 不一定包含表 1 中的所有键,因此表 2 上的左连接不起作用。
谢谢!
【问题讨论】:
标签: mysql sql join select datatables