0
我在主数据库中创建了一个名为tblGlobalIDMapping
的表,它将为所有条目分配一个GUID,并将其他3个主ID存储在应用程序中以提供单个ID存储库。SQL:从多行(tbl 2)填充单行(tbl 1);跨数据库
新表是以下结构 - >
AppGlobalID uniqueidentifier NoNulls
PersonID int NoNulls
DRIMaster int Nulls
DRIClient int Nulls
我所需要的信息以在不同的DB(同一服务器)具有以下部分结构的表 - >
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
这似乎是工作。我有点担心DISTINCT PersonID查询返回51241,并且此查询返回51233,我目前无法解释缺少的8个PersonID。 – 2009-07-29 16:10:20