sqlserver行专列,sqlserver 行专列

sqlserver怎么把查询结果的行变成列?

sqlserver自带得有一个stuff函数,可以结合group by 和distinct使用,可以实现行变列

目前创新互联已为千余家的企业提供了网站建设、域名、网络空间、网站运营、企业网站设计、玉州网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

sqlserver将一行数据转为一列显示,怎么实现

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

没有数据库,没法给你测试,你用这个试试,看好不好使

如果不好使,可以访问这个地址:

里边有行转列,列转行,应该有你想要的,你看看

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)

)

关于SQLSERVER 字符串类型的行转列,该怎么解决

编写一个函数

create func sum_value(@kid int)

returns varchar(1000)

as

begin

declare @s varchar(1000)

set @s= ' '

select @s+=value+‘,’ from tb where kid=@kid

return @s

end

然后调用

select Kid,sum_value(Kid) from tb group by Kid

SQLserver行转列问题,求大神帮忙解答

row_number() over(partition by id order by y) 这是个分析函数,意思是以id分组,y排序,给每一行一个从1开始的行号,一般去重的时候用的比较多

SQL语句行转列

根据楼主的描述,特为楼主总结如下,在SqlServer里面行列转换的语法一般是: select 字段, sum(case when 要转换的行单元格的字段名='行字段内容' then 聚合的字段名 end ) as 自定义的列标题1 from 表的名字 group by 字段(注意,分组聚合就是根据这个字段来的,具体到楼主的问题,这里的字段就应该是org_id) 如果有多个列,之间用逗号隔开就可以了,最后一个参数和from之间不要用逗号。 具体到楼主的显示效果就可以这样写了。代码参考如下: Select org_id , sum(case when channel ='团险' then PREM end) As '团险保费' , sum(case when channel ='个险' then PREM end) As '个险保费 From 你的表名 Group By org_id


本文题目:sqlserver行专列,sqlserver 行专列
URL标题:http://myzitong.com/article/hdepso.html