SELF JOIN / SUBQUERIES / SSIS表现

时间:2017-08-24 07:10:24

标签: sql-server tsql

您好我有三张桌子

Wrk_Order ,Wrk_Info,Wrk_Driver

所有这三个都有DFirstName,DLastName,DUsername列。我想匿名他们

我所做的是我在三个表中的每三列都有不同的内容并加载到查找表中 表名:LKP_driverinfo  列:[DriverInfo,DriverAnonInfo]

DriverInfo列将包含以下数据

SELECT Distinct DFirstName FROM Wrk_Order 
UNION 
SELECt DISTINCT DLastName FROM WRk_Order
UNION 
SELECt DISTINCT DUsername FROM WRk_Order

UNION 

SELECT Distinct DFirstName FROM Wrk_Info
.
.

.

同样适用于休息两个表

DriverAnonInfo:将具有Driverinfo的匿名值

我需要将所有三个表的DFirstName,DLastName,DUsername更新为查询表中的匿名信息[DriverAnonInfo] LKP_driverinfo

了解实现此自我加入或内部查询或使用SSIS的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

您似乎使用您的驱动程序信息创建了一种EAV模型,但您似乎没有保留对原始表的任何引用。

也许你可以尝试在你的driverinfo表中添加3个列,以保存值来自的表的id。这样您就可以直接更新或加入表格中的条目。