如何根据唯一值将 VIEW 加入 TABLE?

How can I JOIN a VIEW to a TABLE based on unique values?

如何根据唯一值将 VIEW 加入 TABLE?背景信息:CSV 文件是从网络浏览器下载的,其中包含客户信息,包括送货地址和订单号。订单号是我们的唯一标识符。 CSV 文件将包含我们之前导入的重复信息。我们想防止重复项进入我们的主 table.

CSV 文件很难直接导入 SQL,因此需要一些 Excel 工作来准备它,方法是在导入的每个数据字段中插入双引号。导入进入 table - dbo.staging 每个数据字段都带有双引号。每次导入都会删除现有行。

然后,它进入视图 (dbo.cleandata) 删除双引号。每次导入都会删除现有行。我们现在有了干净的数据。

从视图来看,我们现在想要将每个新订单附加到主 table (dbo.main),而不是将现有订单数据添加到主 table。这就是我被困的地方。如何将视图 dbo.cleandata 中的数据写入 dbo.main,其中 table dbo.main 中不存在订单号?下面的查询没有给我我们想要的结果。有什么建议吗?

INSERT INTO [dbo].[main] ([bill-to-name]
      ,[order-number]
      ,[ship-to-name]
      ,[ship-to-address1]
      ,[ship-to-city]
      ,[ship-to-state]
      ,[ship-to-zip])
SELECT A.[bill-to-name]
      ,A.[order-number]
      ,A.[ship-to-name]
      ,A.[ship-to-address1]
      ,A.[ship-to-city]
      ,A.[ship-to-state]
      ,A.[ship-to-zip]
  FROM [$dsp].[dbo].[cleandata] as A
 JOIN
  [main] on [main].[order-number] = A.[order-number]
WHERE [main].[order-number] <> A.[order-number] 
    INSERT INTO [dbo].[main] ([bill-to-name]
      ,[order-number]
      ,[ship-to-name]
      ,[ship-to-address1]
      ,[ship-to-city]
      ,[ship-to-state]
      ,[ship-to-zip])
SELECT A.[bill-to-name]
      ,A.[order-number]
      ,A.[ship-to-name]
      ,A.[ship-to-address1]
      ,A.[ship-to-city]
      ,A.[ship-to-state]
      ,A.[ship-to-zip]
  FROM [$dsp].[dbo].[cleandata] as A
LEFT JOIN [main] on [main].[order-number] = A.[order-number]
WHERE [main].[order-number] IS NULL;