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