【问题标题】:Difference between two tables with same primary key but different 2nd column具有相同主键但第二列不同的两个表之间的差异
【发布时间】:2016-04-19 15:48:41
【问题描述】:

我有两个版本的数据库(v1 和 v2),我收集了 v2 中的所有新内容,并使用此查询将其插入到临时数据库中

INSERT INTO [tmp].[dbo].[Mat] 
    SELECT * 
    FROM [v2].[dbo].[Mat] 
    WHERE myid NOT IN (SELECT myid FROM [v1].[dbo].[cMat_Mat])

Mat 的列是myid(主键)、matnumber 和其他一些列。

问题是,我们在某些情况下更改了matnumber,但它并不认为它是新的,因为我只比较了myid

所以这是我的问题。我需要那些在[v1].[dbo].[cMat_Mat][v2].[dbo].[Mat] 中的行并且具有相同的myid 但不同的matnumber。我该如何查询? ...与SELECT 一起查看证明结果。

【问题讨论】:

    标签: sql select insert


    【解决方案1】:

    只需join 符合要求的表格即可。

    INSERT INTO [tmp].[dbo].[Mat] 
    SELECT v2m.* 
    FROM [v2].[dbo].[Mat] v2m
    JOIN [v1].[dbo].[cMat_Mat] v1m on v1m.myid = v2m.myid and v1m.[cMat_Mat] <> v2m.[cMat_Mat]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-08
      • 2020-03-15
      • 1970-01-01
      • 2013-05-02
      • 2016-04-25
      • 1970-01-01
      • 1970-01-01
      • 2015-05-06
      相关资源
      最近更新 更多