在MySQL中,如何合并两个表中的独立列?
我想合并表A和表B中的值,优先考虑表A中的捆绑运输成本。仅当TableB的id在TableA中不存在时,才应使用TableB的shipping_成本值 对此是否有推荐的join语句 表a id |捆绑|运输|成本| 表B id |运费|| 表C id |最终装运成本|| 请尝试以下查询:在MySQL中,如何合并两个表中的独立列?,mysql,join,Mysql,Join,我想合并表A和表B中的值,优先考虑表A中的捆绑运输成本。仅当TableB的id在TableA中不存在时,才应使用TableB的shipping_成本值 对此是否有推荐的join语句 表a id |捆绑|运输|成本| 表B id |运费|| 表C id |最终装运成本|| 请尝试以下查询: select q.*from(SELECT * FROM `t1` union select * from t2) as q group by id 您需要一种完全外部连接。使用两种不同的S
select q.*from(SELECT *
FROM `t1`
union select * from t2) as q group by id
- 您需要一种完全外部连接。使用两种不同的
查询Select
- 在第一个Select查询中,从
中获取所有行李>表A
- 在第二个
查询中,仅从选择
中获取那些没有 使用表B
和Left Join
存在于
中,其中TableA.id为NULLTableA
- 最终,他们:
虽然这可能回答了这个问题,但最好添加一些说明,说明这个答案如何帮助解决这个问题。请阅读了解更多-
1 | 95 |
2 | 195 |
5 | 50 |
6 | 75 |
1 | 100 |
2 | 200 |
3 | 300 |
4 | 400 |
5 | 50 |
6 | 75 |
select q.*from(SELECT *
FROM `t1`
union select * from t2) as q group by id
SELECT dt.id,
dt.final_shipping_cost
FROM (
SELECT t1.id,
t1.bundled_shipping_cost AS final_shipping_cost
FROM TableA AS t1
UNION ALL
SELECT t2.id,
t2.shipping_cost AS final_shipping_cost
FROM TableB AS t2
LEFT JOIN TableA AS t1 ON t1.id = t2.id
WHERE t1.id IS NULL
) AS dt
ORDER BY dt.id