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 结果集行转列,多行数据转为一行显示,第一列内容拼接生成字段名

怎么把excel一列变成一行数据库

mysql将一行转成一列怎么实现?

PCB SQL MS 将多行有序数据转为一行数据(一列转一行)

SQLserver 怎么更新某一行的所有列

SQL Server将一列的多行内容拼接成一行的实现方法