我在我的主数据库中创建了一个名为的表tblGlobalIDMapping
,它将为所有条目分配一个 GUID,并在整个应用程序中存储其他 3 个主 ID,以提供单个 ID 存储库。
新表的结构如下-->
AppGlobalID uniqueidentifier NoNulls
PersonID int NoNulls
DRIMaster int Nulls
DRIClient int Nulls
我需要的信息位于具有以下部分结构的不同数据库(同一服务器)中的表中->
PersonID int NoNulls
ApplicationID tinyint NoNulls
PersonApplicationID varchar(14) NoNulls
对于每个应用程序,一个人(ID#13579)在第二个表 1 中表示。ApplicationID 列存储一个数字,1 代表 DRIMaster,6 代表 DRIClient,它告诉您 PersonApplicationID 中的 ID# 是什么。
我需要将该表中的批量复制/插入到我的新表中,但我只需要 1 行记录新表中的 3 个主 ID。
这是我到目前为止所拥有的,但这会为每个 PersonID 返回一行。
SELECT PersonID,
CASE
WHEN ApplicationID = 1
THEN PersonApplicationID
END AS 'DRIMaster',
CASE
WHEN ApplicationID = 6
THEN PersonApplicationID
END AS 'DRIClient'
FROM tblApplicationAssociation
WHERE ApplicationID IN (1,6)
这将返回以下内容 -->
PersonID DRIMaster DRIClient
_______________________________
108574 71163 NULL
108574 NULL 71163