我有两个表 A 和 B ,每个表都包含 nr 和名称列。 A 中的数字列是 B 中数字列的子集。现在,我想创建一个新表 C ,其中包含列 nr , name_A 和 name_B ,其中 name_A 取自A中的名称列(如果nr存在于 A ,&#39; - &#39;否则),其中 name_B < / strong>取自 B 中的名称列。
到目前为止,我能够找到的最好的是:
CREATE TABLE C
SELECT * FROM A
UNION
SELECT * FROM B;
这显然没有给我我要求的结构,所以SQL-newbie会非常感谢你的帮助。
答案 0 :(得分:2)
您正在寻找的工具是[左]加入:
CREATE TABLE c AS
SELECT b.nr, COALESCE(a.name, '-') AS name_a, b.name AS b.name
FROM b
LEFT JOIN a on b.nr = a.nr