【发布时间】:2017-03-30 02:08:43
【问题描述】:
我有一个大型数据库,在这个数据库中,我需要从两个表中提取信息。通过使用 JOIN 和 CASE WHEN,我已经从两个表中提取了我需要的所有数据。这是输出的屏幕截图
这是我用来拉数据的代码:
SELECT [PORTMultiMax].[dbo].cardholdertable.cardid as CardID,CardHolderTable.FirstName as FirstName,CardHolderTable.LastName as LastName, CardHolderTable.InitLet as MI, CardHolderPersonalDataXrTable.PersonalDataItem as Data,
CASE WHEN PersonalDataID = '4' THEN 'SSN'
WHEN PersonalDataID = '22' THEN 'Employer'
WHEN PersonalDataID = '30' THEN 'Training Type'
WHEN PersonalDataID = '32' THEN 'Primary Sponsor'
WHEN PersonalDataID = '37' THEN 'Training Date'
ELSE NULL END AS Description
FROM [PORTMultiMax].[dbo].[CardHolderTable]
join [PORTMultiMax].[dbo].[CardHolderPersonalDataXrTable]
on cardholdertable.CardID=CardHolderPersonalDataXrTable.CardID
where PersonalDataID IN (4,22,30,32,33,37)
order by LastName
涉及的表命名为:CardHolderTable 和 CardHolderPersonalDataXrTable 接下来我需要做的是摆脱数据中的重复名称条目。例如,“JAMES AARON”有多个行,因为他有多个描述符(“Training Date、TrainingType、Employer 和 SSN”)。
我想尝试使用 PIVOT 来提取行数据并将它们放入名为“SSN、雇主等...”的列中。我的问题是我以前从未使用过 PIVOT,我对如何将 PIVOT 代码应用于我当前的 SQL 查询感到困惑。
请帮忙。非常感谢
【问题讨论】:
-
编辑您的问题并提供示例数据和所需结果。或者就该信息提出另一个问题。