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 行受影响))
转载于:https://www.cnblogs.com/1-Admin/p/6086861.html
mssql 动态行转列。相关推荐
- mysql动态行转列函数_[MSSQL]采用pivot函数实现动态行转列
环境要求:2005+ 在日常需求中经常会有行转列的事情需求处理,如果不是动态的行,那么我们可以采取case when 罗列处理. 在sql 2005以前处理动态行或列的时候,通常采用拼接字符串的方法处 ...
- mysql行转列sql函数_sql动态行转列的两种方法
第一种方法: 代码如下: select *from ( select Url,case when Month=01 then '1月' when Month=02 then '2月' when ...
- mysql实现动态行转列
需求背景:在任务管理系统中,有任务详情表,每个任务下又分子任务节点,每个任务节点都有具体的跟进日期,包括开始时间结束时间,每天的任务完成进度. 有这样一个需求:在任务管理系统中根据任务节点id,展示每 ...
- 不固定列动态行转列SQL
行转列在sql的应用中比较常用,但现在互联网数据应用中,往往获取的都是json,而且里面的字段解析出来后列都是不固定的,多的话几百个字段都不出奇,经常我们要根据这些字段进行汇总,就涉及到了动态行转列的 ...
- 金蝶K3直接SQL报表实现动态行转列报表
我们知道,在BOS开发中,想实现动态行转列报表,可以使用交叉分析表来实现,但交叉分析表不太灵活,比如当动态列中有需要复杂的逻辑运算来实现时就无能为力了,下面介绍使用直接SQL报表来实现,也许能给你一点 ...
- sql 纵向求和_【IT专家】SQL2000 动态行转列+ 横向纵向合计的问题
本文由我司收集整编,推荐下载,如有疑问,请与我司联系 SQL2000 动态行转列 + 横向纵向合计的问题 2014/07/25 10 动态行转列 + 横向纵向合计 createtabletb( 姓名 ...
- Oracle pivot函数动态行转列方法
起因 工作中遇到个问题,需要支持动态行转列,方便报表展示. 起初这样写:
- mysql中将列动态转换为行,mysql 行转列 MySQL数据库动态行转列
想把mysql一个表的行转成列,图1是原表,想实现图2的样式SELECT MAX(CAS就是一个动态的行列转换 CREATE TABLE `c_wssb_zz` ( `aa011` varchar(1 ...
- MySQL 动态 行转列
MySQL 动态 行转列 1.需求 2.建表 3.插入数据 4. 转换前结果 5. 动态转换 1.需求 在每一行的内容不确定的情况下,需要动态的把行转为列. 2.建表 DROP TABLE IF EX ...
最新文章
- java8 新特性 lambda过滤
- Failed to issue method call: Unit mysql.service failed to load: No such file or directory解决的方式...
- nfa状态转换图正规式_0x02 从NFA到DFA
- 【CSS3】CSS3文本相关属性大全
- oracle 两表两列数据对比_【SQL】根据两列信息,整合两张表数据
- CentOS 7.x 默认防火墙 yum install firewalld
- Python--Redis实战:第一章:初识Redis:第一节:Redis简介
- 程序员的奋斗史(七)——沟通交流、表达能力的重要性
- Ubuntu美化开关机界面 - Linux
- 从零开始制作点餐Android app(一)
- 图解步骤PyInstaller实践过程
- 基于时间序列AR模型的PHM预测
- 【第64期】豆瓣9.8分,周志明的《凤凰架构》
- 如何申请 Apple 的 Dun Bradstreet Code (邓白氏编码 2021)(最新的,网上其他的流程都跟现在的申请步骤有差别)...
- 腾讯云是什么?腾讯云TCA和腾讯云TCP是什么?
- word文档中标题中的黑点如何去除
- 传智健康产品需求说明书
- 怎样在表格中选出同一类_两个表格中重复的
- [下载]JEB-2.2.7破解版 for macOS
- JSP 传统标签extends TagSupport
热门文章
- 开源视频平台:ViMP
- 限制码率的视频编码标准比较(包括MPEG-2,H.263, MPEG-4,以及 H.264)
- android mk subst功能,Android.mk(零)
- php ecdsa secp256k1,从上的压缩派生ECDSA未压缩公钥
- 用python导出pptx中每一页的标题
- Python入门--算术运算符,位运算符,比较运算符,布尔运算符,赋值运算符
- 类String的比较
- 下拉框怎么获取label_拼多多-「关键词自然流量快速获取」访客暴涨秘诀
- 求连续区间和为目标值的一种解题思路
- 分治法——查找问题 —— 寻找一个序列中第k小的元素和查找最大和次大元素