sql - 使用 Pivot 将行转换为动态列
问题描述
我在单表中有以下有关房地产数据的信息:
PropertyID
OwnerName
OwnershipDate
PropertyAddress
我想pivot
将结果转换为所需的输出,如下所示
PropertyID OwnerName OwnershipDate OwnerName OwnershipDate
0121320100011 RIVERA VICTOR 2018-02-06 00:00:00.0000000 RIVERA RAQUEL 2018-02-06 00:00:00.0000000
我希望列数根据每个PropertyID
.
迄今为止所做的努力如下:
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX);
SET @cols = STUFF((SELECT distinct ',' + QUOTENAME(c.OwnerName)
FROM owners_rec c
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = 'SELECT ' + @cols + ' from
(
select account,ownername
from owners_rec
) x
pivot
(
max(account)
for ownername in (' + @cols + ')
) p '
execute(@query)
伸出援助之手总是受欢迎的:)
解决方案
推荐阅读
- python - 尝试导入 Spacy 时出现属性错误
- python - 为什么 print with end='' 直到换行才会出现?
- sql - AWS Athena max 函数如何处理 Null 值
- reactjs - 测试重新加载反应应用程序
- flutter - 颤振所有者!._debugCurrentBuildTarget == 这个
- beautifulsoup - 你如何运行 BeautifulSoup
- firebase - Flutter Firebase ArrayContains For 循环中的查询
- python - 在 Python 中创建漂亮的格式
- database - 想要创建反应原生应用程序..需要一些关于 DB 选项的输入
- kubernetes - 为什么我的 ROS 节点在 k8s 中部署时无法通信?