比较两个数据库中的多列数据

欧文以扫

我有两个相同的数据库,一整堆数据从 1 带到另一个,无论出于何种原因,似乎没有标志表明哪个是迁移的记录。

我试图做的是比较每个数据库中的多个字段以查看迁移了哪些记录。

例如,DB1 的作业表中可能有 10,000 个作业,而 DB2(旧的)有 2,000 个。我知道这 2,000 个作业被计入 DB1 中的 10,000 个作业,但是在我得到正确数字之前,如果不比较多个列,我无法区分这两者。

我尝试了以下操作,但失败得很惨,结果为 0:

SELECT COUNT(*) FROm Job j
FULL OUTER JOIN [DB2.dbo.job jc ON CAST(j.jobID AS NVARCHAR(20)) = jc.jobTitle
WHERE j.AMID = jc.amid
    AND j.ClientID = jc.clientID
    AND j.personID = jc.ClientID
    AND j.JobReceivedDate = jc.JobReceivedDate
    AND j.JobTitle = jc.JobTitle

对此的任何帮助将不胜感激。

- - - 编辑 - - - - - - - - - - - - - - - - - - - - - - ---------------

以下代码导致返回超过 300 万行:

SELECT 
  d1.JobTitle, d1.AMID, d1.CLIENTID, d1.PersonID,
  d2.JobTitle, d2.AMID, d2.CLIENTID, d2.PersonID,
  [RESULT] = CASE 
    WHEN (d1.AMID = d2.AMID OR (d1.AMID IS NULL AND d2.AMID IS NULL))
     AND (d1.CLIENTID = d2.CLIENTID OR (d1.CLIENTID IS NULL AND d2.CLIENTID IS NULL))
     AND (d1.PersonID = d2.PersonID OR (d1.PersonID IS NULL AND d2.PersonID IS NULL))
    THEN 1 ELSE 0 END
FROM  [db1].dbo.Job AS d1
FULL OUTER JOIN
 [db2].dbo.Job AS d2
    ON D1.JobTitle = D2.JobTitle

此表中只有 84,000 条记录。

- - - 编辑 - - - - - - - - - - - - - - - - - - - - - - -----------------

将我的初始查询更改为以下效果很好:

SELECT DISTINCT j.jobID, jc.jobID, jc.JobTitle, j.JobTitle FROM Job j
FULL OUTER JOIN [Gulf-Jobs].dbo.job jc ON j.JobTitle = jc.JobTitle
WHERE j.JobTitle = jc.JobTitle
    AND j.ClientID          = jc.clientID
    AND j.personID          = jc.personID
    AND j.JobReceivedDate   = jc.JobReceivedDate
    AND j.JobTitle          = jc.JobTitle
    AND j.JobUpdatedDate    = jc.JobUpdatedDate
    AND j.JobTypeID         = jc.JobTypeID
    AND j.JobStatusID       = jc.JobStatusID
ORDER BY Jc.JobID
预科

来自评论的回答

在你加入的第一个代码块 (j.jobID AS NVARCHAR(20)) = jc.jobTitle 这就是为什么你得到 0 作为计数,但你在第二个代码块中加入职位。如果没有,您的第一个代码按预期工作,如果任何数据为空,请为每一列使用 inull(column,'')

所以查询将是

SELECT COUNT(*) FROm Job j
FULL OUTER JOIN [DB2.dbo.job jc ON j.jobTitle = jc.jobTitle
WHERE j.AMID = jc.amid
AND j.ClientID = jc.clientID
AND j.personID = jc.ClientID
AND j.JobReceivedDate = jc.JobReceivedDate

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

比较来自CakePHP中两个数据库的数据

来自分类Dev

如何比较两个数据库中所有表的所有列

来自分类Dev

比较实例中每个数据库的两个表的行数

来自分类Dev

如何比较YII2中的两个数据库表字段?

来自分类Dev

在数据库中插入两个数组

来自分类Dev

两个数据库的同步

来自分类Dev

比较两个数据框上的列

来自分类Dev

比较两个数据框列

来自分类Dev

基于两个数据库表之间的数据比较创建oracle视图

来自分类Dev

通过比较两个数据库表 Codeigniter/Mysql 删除匹配值

来自分类Dev

Visual Studio SSDT数据比较如何在一个数据库中比较两个表

来自分类Dev

用两个数据更新php数据库

来自分类Dev

在两个数据库的两个不同表中插入相同的Guid键

来自分类Dev

两个不同数据库中两个表之间的多对多关系

来自分类Dev

分页不显示数据库中的最后两个数据

来自分类Dev

编写查询以从两个数据库中获取数据

来自分类Dev

ForEach循环数据插入到两个数据库表中

来自分类Dev

如何使用 Hibernate 在单个实体中访问来自两个数据库的数据?

来自分类Dev

比较两个数据帧中的两列以及另一列的条件

来自分类Dev

跨两个数据库导入/导出表的某些列,并排除mysql中重复的电子邮件

来自分类Dev

数据库:从每个数组结果的同一列中获取两个字段

来自分类Dev

根据数据框中的ID比较两个数据框列

来自分类Dev

SQL Server 2008比较同一数据库中的两个表,并更改get列

来自分类Dev

将两个不同的Postgresql数据库合并到一个数据库中

来自分类Dev

我们如何使用php将两个数据库合并到新数据库中

来自分类Dev

我们如何使用php将两个数据库合并到新数据库中

来自分类Dev

用两个模型将数据保存到两个数据库表中

来自分类Dev

同时锁定两个数据库

来自分类Dev

合并两个数据库表好吗?

Related 相关文章

  1. 1

    比较来自CakePHP中两个数据库的数据

  2. 2

    如何比较两个数据库中所有表的所有列

  3. 3

    比较实例中每个数据库的两个表的行数

  4. 4

    如何比较YII2中的两个数据库表字段?

  5. 5

    在数据库中插入两个数组

  6. 6

    两个数据库的同步

  7. 7

    比较两个数据框上的列

  8. 8

    比较两个数据框列

  9. 9

    基于两个数据库表之间的数据比较创建oracle视图

  10. 10

    通过比较两个数据库表 Codeigniter/Mysql 删除匹配值

  11. 11

    Visual Studio SSDT数据比较如何在一个数据库中比较两个表

  12. 12

    用两个数据更新php数据库

  13. 13

    在两个数据库的两个不同表中插入相同的Guid键

  14. 14

    两个不同数据库中两个表之间的多对多关系

  15. 15

    分页不显示数据库中的最后两个数据

  16. 16

    编写查询以从两个数据库中获取数据

  17. 17

    ForEach循环数据插入到两个数据库表中

  18. 18

    如何使用 Hibernate 在单个实体中访问来自两个数据库的数据?

  19. 19

    比较两个数据帧中的两列以及另一列的条件

  20. 20

    跨两个数据库导入/导出表的某些列,并排除mysql中重复的电子邮件

  21. 21

    数据库:从每个数组结果的同一列中获取两个字段

  22. 22

    根据数据框中的ID比较两个数据框列

  23. 23

    SQL Server 2008比较同一数据库中的两个表,并更改get列

  24. 24

    将两个不同的Postgresql数据库合并到一个数据库中

  25. 25

    我们如何使用php将两个数据库合并到新数据库中

  26. 26

    我们如何使用php将两个数据库合并到新数据库中

  27. 27

    用两个模型将数据保存到两个数据库表中

  28. 28

    同时锁定两个数据库

  29. 29

    合并两个数据库表好吗?

热门标签

归档