MySQL以优先顺序合并两个表
在MySQL数据库中,我有两个表,其中包含以下示例数据。表键是变量_id 表1 **variable_id** **release_id** 3 10 5 10 **变量id****发布id** 3 10 5 10 表2 **variable_id** **release_id** 1 01 2 15 3 15 4 20 5 25 **变量id****发布id** 1 01 2 15 3 15 4 20 5 25 我希望能够合并这两个表,表1中的行优先于表2中的行 结果集应为: **variable_id** **release_id** 1 01 2 15 3 10 4 20 5 10 **变量id****发布id** 1 01 2 15 3 10 4 20 5 10MySQL以优先顺序合并两个表,mysql,sql,select,join,Mysql,Sql,Select,Join,在MySQL数据库中,我有两个表,其中包含以下示例数据。表键是变量_id 表1 **variable_id** **release_id** 3 10 5 10 **变量id****发布id** 3 10 5 10 表2 **variable_id** **release_id** 1 01 2
请帮助我使用MySQL SQL来完成这项工作。我尝试对左联接和右联接进行并集,但没有成功。您可以从
表1
中获取行,然后将所有行并集
从表2
中获取额外的行。笨重,但应该完成工作:
SELECT *
FROM table_1
UNION ALL
SELECT *
FROM table_2
WHERE variable_id NOT IN (SELECT variable_id FROM table_1)
只要表_1中的变量_id是null@DrewOP表示“表键是变量\ id”。我假设这意味着主键,根据定义,它不能是
null
SELECT table_2.variable_id,
IFNULL(table_1.release_id, table_2.release_id) release_id
FROM table_2
LEFT JOIN table_1
ON table_2.variable_id = table_1.variable_id