mssql 动态行转列。
create table #a (a int , b char(4))
insert into #a select 1,'张三'
insert into #a select 2,'李四'
insert into #a select 3,'王五'
select * from #a
a           b
----------- ----
1           张三
2           李四
3           王五
(3 行受影响)--行转列,步骤:''+张三+],[+王五+],[+李四
declare @sql varchar(100)
select @sql=isnull(@sql+'],[','')+b from #a
select  @sql='['+@sql+']'
select  @sql as 结果1
go
结果1
----------------------------------------------------------------------------------------------------
[张三],[李四],[王五](1 行受影响)--结果为NULL,所以用ISNULL
declare @sql varchar(100)
select @sql=@sql+b from #a
select @sqlNULL
----------------------------------------------------------------------------------------------------
NULL(1 行受影响)--结果,同上
declare @sql varchar(100)
set @sql=''
select @sql=@sql+'],['+b from #a
select @sql=right(@sql,len(@sql)-2)+']'
select @sql as 结果2
go结果2
----------------------------------------------------------------------------------------------------
[张三],[李四],[王五]
(1 行受影响)--结果,同上
declare @sql varchar(100)
set @sql=''
select @sql=stuff((select '],['+b  from #a for xml path('')),1,2,'') +']'
select  @sql as 结果3
go结果3
----------------------------------------------------------------------------------------------------
[张三],[李四],[王五]
(1 行受影响)--结果,同上。
declare @sql varchar(8000)
select @sql=coalesce(@sql+'],[','')+b from #a
select @sql='['+@sql+']'
select  @sql as 结果4
go结果4
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[张三],[李四],[王五]
(1 行受影响)--思路一样都是列行互转,结果不一样。
declare @b varchar(100)
declare @c varchar(100)
set @c='select *  from (select b from #a ) as e  pivot (max(b)  for b in ([张三],[李四],[王五]))  as c'
exec(@c)张三   李四   王五
---- ---- ----
张三   李四   王五
(1 行受影响)

create table #a
(
id char(2) ,
a char(2),
b char(2))
insert into #a values('1','2','3')
insert into #a values('1','3','3')
insert into #a values('1','4','3')
insert into #a values('2','1','5')
insert into #a values('2','2','5')select a.id,
[a]=stuff((select ',' +b from #a as a1 where a1.id=a.id  FOR XML PATH('')),1,1,' ' )
,bfrom #a a
group by a.id,b;drop table #a;

结果:

id a     b
----------------
1  3,3,3 3
2  5,5   5(2 行受影响))

posted on 2016-11-21 20:40 zhouixi 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/1-Admin/p/6086861.html

mssql 动态行转列。相关推荐

  1. mysql动态行转列函数_[MSSQL]采用pivot函数实现动态行转列

    环境要求:2005+ 在日常需求中经常会有行转列的事情需求处理,如果不是动态的行,那么我们可以采取case when 罗列处理. 在sql 2005以前处理动态行或列的时候,通常采用拼接字符串的方法处 ...

  2. mysql行转列sql函数_sql动态行转列的两种方法

    第一种方法: 代码如下: select *from ( select Url,case  when  Month=01 then  '1月' when  Month=02 then '2月' when ...

  3. mysql实现动态行转列

    需求背景:在任务管理系统中,有任务详情表,每个任务下又分子任务节点,每个任务节点都有具体的跟进日期,包括开始时间结束时间,每天的任务完成进度. 有这样一个需求:在任务管理系统中根据任务节点id,展示每 ...

  4. 不固定列动态行转列SQL

    行转列在sql的应用中比较常用,但现在互联网数据应用中,往往获取的都是json,而且里面的字段解析出来后列都是不固定的,多的话几百个字段都不出奇,经常我们要根据这些字段进行汇总,就涉及到了动态行转列的 ...

  5. 金蝶K3直接SQL报表实现动态行转列报表

    我们知道,在BOS开发中,想实现动态行转列报表,可以使用交叉分析表来实现,但交叉分析表不太灵活,比如当动态列中有需要复杂的逻辑运算来实现时就无能为力了,下面介绍使用直接SQL报表来实现,也许能给你一点 ...

  6. sql 纵向求和_【IT专家】SQL2000 动态行转列+ 横向纵向合计的问题

    本文由我司收集整编,推荐下载,如有疑问,请与我司联系 SQL2000 动态行转列 + 横向纵向合计的问题 2014/07/25 10 动态行转列 + 横向纵向合计 createtabletb( 姓名 ...

  7. Oracle pivot函数动态行转列方法

    起因 工作中遇到个问题,需要支持动态行转列,方便报表展示. 起初这样写:

  8. mysql中将列动态转换为行,mysql 行转列 MySQL数据库动态行转列

    想把mysql一个表的行转成列,图1是原表,想实现图2的样式SELECT MAX(CAS就是一个动态的行列转换 CREATE TABLE `c_wssb_zz` ( `aa011` varchar(1 ...

  9. MySQL 动态 行转列

    MySQL 动态 行转列 1.需求 2.建表 3.插入数据 4. 转换前结果 5. 动态转换 1.需求 在每一行的内容不确定的情况下,需要动态的把行转为列. 2.建表 DROP TABLE IF EX ...

最新文章

  1. java8 新特性 lambda过滤
  2. Failed to issue method call: Unit mysql.service failed to load: No such file or directory解决的方式...
  3. nfa状态转换图正规式_0x02 从NFA到DFA
  4. 【CSS3】CSS3文本相关属性大全
  5. oracle 两表两列数据对比_【SQL】根据两列信息,整合两张表数据
  6. CentOS 7.x 默认防火墙 yum install firewalld
  7. Python--Redis实战:第一章:初识Redis:第一节:Redis简介
  8. 程序员的奋斗史(七)——沟通交流、表达能力的重要性
  9. Ubuntu美化开关机界面 - Linux
  10. 从零开始制作点餐Android app(一)
  11. 图解步骤PyInstaller实践过程
  12. 基于时间序列AR模型的PHM预测
  13. 【第64期】豆瓣9.8分,周志明的《凤凰架构》
  14. 如何申请 Apple 的 Dun Bradstreet Code (邓白氏编码 2021)(最新的,网上其他的流程都跟现在的申请步骤有差别)...
  15. 腾讯云是什么?腾讯云TCA和腾讯云TCP是什么?
  16. word文档中标题中的黑点如何去除
  17. 传智健康产品需求说明书
  18. 怎样在表格中选出同一类_两个表格中重复的
  19. [下载]JEB-2.2.7破解版 for macOS
  20. JSP 传统标签extends TagSupport

热门文章

  1. 开源视频平台:ViMP
  2. 限制码率的视频编码标准比较(包括MPEG-2,H.263, MPEG-4,以及 H.264)
  3. android mk subst功能,Android.mk(零)
  4. php ecdsa secp256k1,从上的压缩派生ECDSA未压缩公钥
  5. 用python导出pptx中每一页的标题
  6. Python入门--算术运算符,位运算符,比较运算符,布尔运算符,赋值运算符
  7. 类String的比较
  8. 下拉框怎么获取label_拼多多-「关键词自然流量快速获取」访客暴涨秘诀
  9. 求连续区间和为目标值的一种解题思路
  10. 分治法——查找问题 —— 寻找一个序列中第k小的元素和查找最大和次大元素