sql – 根据ID列将行转换为列
发布时间:2021-01-08 07:17:16 所属栏目:MsSql教程 来源:网络整理
导读:我目前正在运行SQL Server 2008并尝试获取以下子查询数据: ID | Field Name | Field Selection1 | Rating 1 | Good1 | Rating 2 | Good1 | Rating 3 | Bad2 | Rating 1 | OK 根据ID列分组为一行: ID | Rating 1 | Rating 2 | Rating 31 | Good | Good |
我目前正在运行SQL Server 2008并尝试获取以下子查询数据: ID | Field Name | Field Selection 1 | Rating 1 | Good 1 | Rating 2 | Good 1 | Rating 3 | Bad 2 | Rating 1 | OK 根据ID列分组为一行: ID | Rating 1 | Rating 2 | Rating 3 1 | Good | Good | Bad 2 | OK | NULL | NULL 这可能吗?提前致谢! 干杯, 解决方法您可以使用SQL Server pivot子句:select p.* from Table1 pivot( max([Field Selection]) for [Field Name] in ([Rating 1],[Rating 2],[Rating 3]) ) as p 或者你可以手动转动: select ID,max(case when [Field Name] = 'Rating 1' then [Field Selection] end) as [Rating 1],max(case when [Field Name] = 'Rating 2' then [Field Selection] end) as [Rating 2],max(case when [Field Name] = 'Rating 3' then [Field Selection] end) as [Rating 3] from Table1 group by ID sql fiddle demo (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读