如何使用LEFT JOIN INSERT INTO?

时间:2017-12-15 09:33:49

标签: sql-server join sql-insert

如果有人可以提供帮助,我将不胜感激。 我需要结合两个表。到目前为止,我每次都这样做。

  SELECT * INTO TABLE_3

  FROM TABLE_1 LEFT JOIN TABLE_2
    ON TABLE_1.[DATE] = TABLE_2.[DATE1]

但是,我想跳过创建新表的部分并将我需要的列直接插入现有表中。 我试过这样做,

INSERT INTO [TABLE_1] (USD,EUR,RUR)

SELECT USD,EUR,RUR 

FROM TABLE_1 AS T1 LEFT JOIN TABLE_2 AS T2
   ON T1.[DATE] = T2.[DATE1]

但是错误地说我的列名不明确

我使用的是SQL Server 2014。

1 个答案:

答案 0 :(得分:1)

请不要直接提供列名,而是指定别名来说明列应该从哪个表中获取。可能在这里两个表都有你想要选择的相同列。您应该指定确切的表

INSERT INTO [TABLE_1] (USD,EUR,RUR)

SELECT [T1/T2].USD,[T1/T2].EUR,[T1/T2].RUR 

FROM TABLE_1 AS T1 LEFT JOIN TABLE_2 AS T2
   ON T1.[DATE] = T2.[DATE1]

您可以根据业务逻辑指定T1或T2。请重写此处提到的查询。这将解决问题。请试试这个。