sql - 动态将列转换为行,然后与其他表连接
问题描述
我有两张我喜欢组合在一起的桌子,第一张只是一张普通的桌子。但第二个结构我有问题。 我需要将 [Name] 列中的行转换为列。我遇到的两个问题是图片仅显示来自一个 id 的数据,我需要转换不同的列列表,然后将 [value] 列显示为行。第二个问题是在将主表与图片中的表连接在一起的同时完成所有这些操作。我知道枢轴存在并且我已经尝试过了。但不能让它工作,只是用主表。有没有人有想法必须解决这个问题?这是我不成功的尝试。
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
select @cols = STUFF((SELECT ',' + QUOTENAME([Name])
from [dbo].[TfsItem]
group by [Name]
order by [Name]
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
SELECT @cols
set @query = N'SELECT ' + @cols + N' from
(
select value, [Name]
from [dbo].[TfsItem]
) x
pivot
(
max(value)
for [Name] in (' + @cols + N')
) p '
exec sp_executesql @query;
解决方案
推荐阅读
- javascript - 如何在VScode中的JavaScript中的每行前面用星号注释多行
- git - 将来 Git 提交的日期不正确会覆盖未来的工作吗?
- java - 如何使用 Java 和 LDAP 获取 AD(Active Directory)用户密码到期日期
- python - 使用公式创建多个列的高效灵魂。熊猫/蟒蛇
- discord.py - if 语句中的缩进错误 | 不和谐.py
- azure - 我们是否需要多个 Azure API 管理实例?适用于 DEV、UAT、PROD 环境?[是的,我们有。包含解决方案]
- twitter-bootstrap - 仅动态调整 DropDownListFor 的宽度 - MVC
- hash - Rmarkdown 编织到 Markdown 更改散列标题
- python - python中是否有任何方法可以动态链接两个块
- c# - C# TreeView 选择项目