无法合并2个表

时间:2019-07-10 12:05:28

标签: sql

我有2个相似的表:

表1
    艺术家标题ISRC专辑标题
    约翰·史密斯高于一切12345
    克雷格·史密斯(Craig Smith)最重要的56789
    兰尼·勒布朗(Lenny LeBlanc)最重要的是98765

表2
    艺术家标题ISRC专辑标题文件名
    约翰·史密斯首先
    克雷格·史密斯(Craig Smith)首先

这没有给我我想要的结果:

Append()
尽管表2在表1中找到了一些ISRC,但表1中的ISRC不在表2中。我需要使用缺少的ISRC填充Table2。

如您所见,任何一个表都可以有具有相同标题的不同艺术家。我仅在Table2中寻找缺少ISRC的精确匹配项。

2 个答案:

答案 0 :(得分:1)

在这种情况下,第一步是应用“ RIGHT JOIN”而不是“ INNER JOIN”。在您的查询中,它将保留来自table1的所有记录,同时尽可能地加入来自table2的记录。

但是,如果需要在两个表中都找到所有IRCS(并在可能的情况下合并在一起),则FULL JOIN是更好的选择。

答案 1 :(得分:1)

我认为您需要左加入

SELECT table2.filename, 
           table2.artist, 
           table2.title, 
           table1.num, 
           table2.album_title, 
           table2.record_label 
      FROM table2 
left JOIN table1 ON table1.artist = table2.artist