
正文
sqlserver多个字段转列,sqlserver多行转多列
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
sql动态多行转列,PIVOT怎么能转两列?
动态最好用存储过程(年月不确定,列名不确定),对sql进行拼接,再写一个第二条语句关于办结的,然后把这个受理与办结通过事项进行关联查询得到两列结果就好
相关问答
Q1: sqlserver怎么行转列?
1,首先创建数据表
2,接着插入演示数据
3,需要把学生的每门成绩集中到一行
4,编写PIVOT函数实现
5,运行以后实现行转列
6,最后还可以用case when来实现
Q2: 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
Q3: 关于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
Q4: 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)
)
Q5: sqlserver怎么把查询结果的行变成列?
sqlserver自带得有一个stuff函数,可以结合group by 和distinct使用,可以实现行变列


![【电子书】[科学技术] 《百年法(套装共2册)》[山田宗树][epub+mobi+azw3] 【电子书】[科学技术] 《百年法(套装共2册)》[山田宗树][epub+mobi+azw3]](https://www.04ip.com/template/qe/style/noimg/11.jpg)



