SQL行转列
目的:将相同条件的多行值合并到同一列,
1.创建测试表:
CREATE TABLE [dbo].[TB_01](
[SN] [nvarchar](50) NULL,
[STEP_NAME] [nvarchar](50) NULL,
[SDATE] [datetime] NULL
) ON [PRIMARY]
2.插入测试数据:
INSERT INTO TB_01 VALUES('V000001','FQC','2015-01-01 10:20')
INSERT INTO TB_01 VALUES('V000001','OQC','2015-01-02 07:35')
INSERT INTO TB_01 VALUES('V000002','FQC','2015-05-23 15:26')
3.原始数据结果:

期望的数据格式:
V000001 FQC(2015-01-01 10:20:00),OQC(2015-01-02 07:35:00)
V000002 FQC(2015-05-23 15:26:00)
4.利用FOR XML PATH实现:
SELECT SN,LEFT(Steps,LEN(Steps)-1) AS AAAAA FROM (
SELECT SN,
(SELECT Step_Name+'('+CONVERT(VARCHAR(100),SDATE,120)+')'+',' FROM TB_01
WHERE SN=A.SN
FOR XML PATH('')) AS Steps
FROM TB_01 A
GROUP BY SN
) B
最终结果:
SQL行转列的更多相关文章
- SQL 行转列和列转行
SQL 行转列和列转行 行列互转,是一个经常遇到的需求.实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现. 在读了技术内幕那一节后,虽说这些解决方案早就用过 ...
- Ms sql行转列。汇总
SQL行转列汇总 PIVOT 用于将列值旋转为列名(即行转列),在 SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT 的一般语法是:PIVOT(聚合函数(列) FOR 列 ...
- sql 行专列 列转行 普通行列转换
转载:http://www.cnblogs.com/newwind521/archive/2010/11/25/1887203.html sql 行专列 列转行 普通行列转换 /* 标题:普通行列转换 ...
- sql 行转列 PIVOT 列转行 UNPIVOT
原文:sql 行转列 PIVOT 列转行 UNPIVOT 一: 现有表一(t_table1),想转为表二(t_table2)的格式. 表一: 年 公司 收入 2013 公司1 12 2013 公司2 ...
- sql 行转列总结
原文:sql 行转列总结 PIVOT UNPIVOT的用法 PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PI ...
- SQL行转列 (及EAV模型获取数据)
参考文章: http://www.williamsang.com/archives/1508.html 情景简介 学校里面记录成绩,每个人的选课不一样,而且以后会添加课程,所以不需要把所有课程当作列. ...
- SQL行转列,列转行
SQL 行转列,列转行 行列转换在做报表分析时还是经常会遇到的,今天就说一下如何实现行列转换吧. 行列转换就是如下图所示两种展示形式的互相转换 行转列 假如我们有下表: SELECT * FROM s ...
- sql 行转 列, 列转行
行列互转 复制代码 create table test(id ),quarter int,profile int) insert into test values(,,) insert into te ...
- SQL行转列和列转行
行列互转,是一个经常遇到的需求.实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现. 在读了技术内幕那一节后,虽说这些解决方案早就用过了,却没有系统性的认识和 ...
- Sql 行转列问题总结
行转列问题总结 1.行转列 ---1.最简单的行转列/* 问题:假设有张学生成绩表(tb)如下:姓名 课程 分数张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四 数学 84李四 物 ...
随机推荐
- OpenStack 密码注入
现状 实例可以创建,可以使用vnc,可以ssh,但是就是密码要使用默认tima123,要修改密码必须进入虚拟机.实际场景中如果用户将密码修改后忘记,需要重置密码则我们作为管理员也没有办法.这在实际需求 ...
- 【python cookbook】【数据结构与算法】2 从任意长度的可迭代对象中分解元素
从某个可迭代对象中分解出N个元素,但是可迭代对象的长度可能超过N,会出现“分解值过多”的异常: 使用“*表达式”来解决该问题: Python 3.4.3 (v3.4.3:9b73f1c3e601, F ...
- 2015.01.15(android AsyncTask)
参考网址:http://www.cnblogs.com/devinzhang/archive/2012/02/13/2350070.html /* * Params 启动任务执行的输入参数,比如HTT ...
- 在Ubuntu Kylin下安装QQ教程
下载: 下载地址:http://www.ubuntukylin.com/application/show.php?lang=cn&id=279 下载后解压得到wine-qqintl文件夹,里面 ...
- Linux内核抢占与中断返回【转】
转自:http://blog.csdn.net/tommy_wxie/article/details/7425728 版权声明:本文为博主原创文章,未经博主允许不得转载. [html] view pl ...
- Linux 中open系统调用实现原理【转】
转自:http://blog.chinaunix.net/uid-25968088-id-3426026.html 目录 OPEN系统调用过程 Open在内核里面的入口函数时sys_open Sys_ ...
- 测试过程中LR的关联报错
在测试过程中,录制的脚本会做一些关联.在测试的过程中,常常出现关联失败的情况. 如果最后的结果有检查点,检查点失败而事务失败. 每次出现这样的情况,我都不知道如何办.为了不出现错误,我都在关联函数里面 ...
- IE11下,IIS7.5不自动生成__doPostBack事件
MS在 2013/10/8 已出补丁 http://www.microsoft.com/zh-cn/download/details.aspx?id=39257 https://support.mic ...
- 如何修改ECSHOP后台管理中心的Title信息
下图中红色圈定的部分就是本次修改要改的地方 修改方法其实很简单的:打开语言包文件 /languages/zh_cn/admin/common.php 将 $_LANG['app_name'] = ' ...
- ecshop后台增加栏目查询会员是否重复注册
ecshop的后台要查询哪些会员是否有重复注册时,可以利用特定的栏目来判断~ 譬如会员电话... 修改前请务必先备份下列档案!!! admin/users.php admin/templates/us ...