sqlserver将一行数据转为一列显示,怎么实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver将一行数据转为一列显示,怎么实现相关的知识,希望对你有一定的参考价值。
如图:
参考技术A select * from(
select id as Name , Subject = 'id' , Result = id from tb1
union all
select id as Name , Subject = 'yytc' , Result = yytcfrom tb1
) t
order by name , case Subject when 'id' then 1 when 'yytc' then 2 end
没有数据库,没法给你测试,你用这个试试,看好不好使
如果不好使,可以访问这个地址:http://blog.csdn.net/vipxiaotian/article/details/4409423
里边有行转列,列转行,应该有你想要的,你看看本回答被提问者和网友采纳 参考技术B 这是sql语法中的行列倒置,你可以直接在百度搜索‘sqlserver行列倒置’,应该可以直接找到相应的列子。。。
sql 查询出一列内容,如何让它成一行显示。
如图,查询出了一列内容的日期,但是我想让它成一行显示。要求是每一列显示一个日期。这个要怎么写?求大神指导。
进行行转列下面是相关语法等PIVOT 用于将列值旋转为列名(即行转列),在 SQL Server 2000可以用聚合函数配合CASE语句实现
PIVOT 的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P
注意:PIVOT、UNPIVOT是SQL Server 2005 的语法,使用需修改数据库兼容级别(在数据库属性->选项->兼容级别改为 90 )
SQL2008 中可以直接使用
完整语法:
table_source
PIVOT(
聚合函数(value_column)
FOR pivot_column
IN(<column_list>)
)
View Code
UNPIVOT 用于将列明转为列值(即列转行),在SQL Server 2000可以用UNION来实现
完整语法:
table_source
UNPIVOT(
value_column
FOR pivot_column
IN(<column_list>)
) 参考技术A --参考
SELECT STUFF((SELECT ','+ 字段名称 FROM 表名称 for xml path('')),1,1,''); 参考技术B --case when 可以进行横列转换
以上是关于sqlserver将一行数据转为一列显示,怎么实现的主要内容,如果未能解决你的问题,请参考以下文章
oracle 结果集行转列,多行数据转为一行显示,第一列内容拼接生成字段名