What is the correct MySql FULL JOIN syntax?
本问题已经有最佳答案,请猛点这里访问。
下面是我的两个表;我想要如第三个表所示的结果。我如何在MySQL中做到这一点(假设完全连接)?
表销售
1 2 3 4 5 | product_id quantity date c001 20 2013-09-03 t008 30 2013-09-01 t008 20 2013-09-03 c001 90 2013-09-09 |
表返回
1 2 3 4 |
号
我想得到如下结果:
1 2 3 4 5 6 | product_id sale_qty return_qty date c001 20 10 2013-09-03 c001 90 - 2013-09-09 t008 30 30 2013-09-01 t008 20 - 2013-09-01 t008 - 40 2013-09-08 |
我做
1 2 3 4 5 6 7 8 9 | select driver.product_id, s.quantity as sale_qty, r.quantity as return_qty, driver.date from (select product_id, date from table_sales union select product_id, date from table_returns ) driver left join table_sales s on driver.product_id = s.product_id and driver.date = s.date left join table_returns r on driver.product_id = r.product_id and driver.date = r.date; |
号
我发现把
下面是SQL小提琴,它说明了它的工作原理。
MySQL不支持完全外部连接。
所以如果你想在mysql上模拟一个完整的连接,请看这里。
这是一个非常有帮助的完整链接,描述完整连接的解决方案
解决方案示例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |