比较不同表sql中的两列

时间:2015-03-03 07:43:38

标签: sql select sql-insert jointable two-columns

我们有两个不同的表,有两个相同的列。一个列在两个列中都有常量值但是一列可能有不同的值。我们可以根据常量列来比较这两个表,以更新不同的列。 我的代码管理工作室是:

SELECT [ModernizationCode],[ReceiptSerial]
FROM [Backup].[dbo].[Distribution]
inner JOIN
[Backup].[dbo].[combineareas]
ON [Distribution].[ModernizationCode] = [combineareas].[ModernizationCode]
and [Distribution].[ReceiptSerial] = [combineareas].[ReceiptSerial]
WHERE [combineareas].[ReceiptSerial] <> [Distribution].[ReceiptSerial]

和我的错误 Msg 209,Level 16,State 1,Line 1 不明确的列名称&#39; ModernizationCode&#39;。 Msg 209,Level 16,State 1,Line 1 不明确的列名称&#39; ReceiptSerial&#39;。  我无法解决它!enter code here

1 个答案:

答案 0 :(得分:0)

你的问题不是很清楚,但我会尝试。假设具有常数值的列命名为&#39; id&#39;以及其他名为&#39; col&#39;在这两个表格中,您似乎正在尝试复制“col&#39;从第一个表到另一个表的值。因此查询可能如下所示:

 update table2 t2
 set t2.col = (select t1.col 
                 from table1 t1
                 where t1.id = t2.id)