SQL:组合两个表中的列

时间:2016-10-21 19:57:31

标签: sql sqlite

我有两个表 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会非常感谢你的帮助。

1 个答案:

答案 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