PCB MS SQL 行转列(动态拼SQL)
一.原数据:
SELECT inman,indate
FROM [fp_db].[dbo].[ppezhpbb]
WHERE indate > '2016-5-1' AND indate < '2016-6-1'
ORDER BY indate

二.转换后(动态拼接SQL):
--数据先存临时表
SELECT inman,indate INTO #tab
FROM [fp_db].[dbo].[ppezhpbb]
WHERE indate > '2016-5-1' AND indate < '2016-6-1'
--拼接字符串
DECLARE @sql NVARCHAR(MAX)
SET @sql = 'SELECT CONVERT(varchar(100), indate, 23) indate '
SELECT @sql = @sql + ' ,sum(case when inman=''' + inman + ''' then 1 else 0 end) ' + inman --行转列统计
FROM #tab
GROUP BY inman --需由列转行的字段
SET @sql = @sql + ' FROM [fp_db].[dbo].[ppezhpbb] WHERE indate > ''2016-5-1'' AND indate < ''2016-6-1'' '
SET @sql = @sql + ' GROUP BY CONVERT(varchar(100), indate, 23) '
SET @sql = @sql + ' ORDER BY indate '
SELECT @sql
exec sp_executesql @sql

PCB MS SQL 行转列(动态拼SQL)的更多相关文章
- SQL行转列+动态拼接SQL
数据源 Name AreaName qty Specific 叶玲 1 60 1 叶玲 2 1 1 叶玲 6 1 0 叶玲 7 5 0 叶玲 8 1 1 显示效果: Name 1 2 8 ...
- Ms sql行转列。汇总
SQL行转列汇总 PIVOT 用于将列值旋转为列名(即行转列),在 SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT 的一般语法是:PIVOT(聚合函数(列) FOR 列 ...
- 在论坛中出现的比较难的sql问题:39(动态行转列 动态日期列问题)
原文:在论坛中出现的比较难的sql问题:39(动态行转列 动态日期列问题) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉 ...
- SQL 行转列和列转行
SQL 行转列和列转行 行列互转,是一个经常遇到的需求.实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现. 在读了技术内幕那一节后,虽说这些解决方案早就用过 ...
- SQL行转列和列转行
行列互转,是一个经常遇到的需求.实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现. 在读了技术内幕那一节后,虽说这些解决方案早就用过了,却没有系统性的认识和 ...
- sql 行专列 列转行 普通行列转换
转载:http://www.cnblogs.com/newwind521/archive/2010/11/25/1887203.html sql 行专列 列转行 普通行列转换 /* 标题:普通行列转换 ...
- sql行转列和列转行(转)
行列互转,是一个经常遇到的需求.实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现. 在读了技术内幕那一节后,虽说这些解决方案早就用过了,却没有系统性的认识和 ...
- sql 行转列总结
原文:sql 行转列总结 PIVOT UNPIVOT的用法 PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PI ...
- sql 行转列 PIVOT 列转行 UNPIVOT
原文:sql 行转列 PIVOT 列转行 UNPIVOT 一: 现有表一(t_table1),想转为表二(t_table2)的格式. 表一: 年 公司 收入 2013 公司1 12 2013 公司2 ...
随机推荐
- Linux监控实时log
https://jingyan.baidu.com/article/93f9803f5545a3e0e46f5596.html
- Forum/viewthread.php代码备份
<!--{eval $lzthread = DB::fetch_all("SELECT `tid`,`subject` FROM ".DB::table('forum_thr ...
- C# 时间对比
public bool IfTime(string StartTime, string EndTime) { DateTime dt1 = Convert.ToDateTime(StartTime); ...
- css3 animation 中的 steps
steps Specifies a stepping function, described above, taking two parameters. The first parameter spe ...
- Python---HTML表单
一. http:80 https:443 -------------------------- 二.
- HDU - 5894 Pocky(概率)
HDU5894—Pocky Problem Description: Let’s talking about something of eating a pocky. Here is a Decore ...
- JAVA经典题--计算一个字符串中每个字符出现的次数
需求: 计算一个字符串中每个字符出现的次数 思路: 通过toCharArray()拿到一个字符数组--> 遍历数组,将数组元素作为key,数值1作为value存入map容器--> 如果k ...
- Linux 实用指令(4)
目录 实用指令 1.指定运行级别 2.切换到指定运行级别的指令 3.帮助指令 3.1man获得帮助信息 3.2help指令 4.文件目录类 4.1pwd指令 4.2 ls指令 4.3 cd指令 4.4 ...
- Struts2 Action重启偶尔404 偶尔正常
这是一个痛苦的教训 因想懒省事,复制module.action 到product.action 跟user.action 然后修改代码内容 ,最痛苦的是 还用查找替换功能进行全部文字替换 , ...
- Spring中Bean的作用域差别
我觉得servlet和spring交叉起来,理解得快. Bean的作用域中,prototype和singleton作用域效果不一样,前者每次都会有新的实例,而后者始终一个实例 . 所以,java.ut ...