【发布时间】:2012-05-11 17:28:25
【问题描述】:
我在一个数据库中有两个表。这些表称为 bi_employee 和 hr_employee。这两个表几乎没有相似的列,然后是每个表特有的其他额外列。
我需要根据一些用户定义的列来协调这两个表之间的数据。
假设常见的列是 id(pk)、emp_code、区域、国家、标题、部门等。
现在,当我协调这两个表时,我想查看两个表中存在但仅在某些列中不同的行。
例如emp_code 1000 出现在两个表中,但在 hr_employee 中,他的头衔是 jr。开发人员,但在 bi_employee 中,他的头衔是 sr.developer。
我不想要在一个表中但不在另一个表中的记录。
我只需要协调两个表中存在的行,但按列排列,这些行将由用户选择。
用户可以根据标题或地区或国家或所有这些选择对帐。
请帮忙。
编辑 1:
这是我到目前为止所做的,通过以下查询,我可以获得两个表中的所有记录。现在我只需要比较他们的列,看看是否有任何不匹配。
SELECT emp_code FROM bi_employee INTERSECT SELECT emp_code FROM hr_employee
【问题讨论】:
-
这里的最终目标是使 BI 表与 HR 表匹配,还是您真的需要获取关于差异的报告?
-
@大卫奥尔德里奇。我只需要获取有关差异的报告。