SQL 行转列和列转行2
DECLARE @T TABLE (columnName varchar(100) NOT NULL PRIMARY KEY);
INSERT INTO @T
SELECT columnName from QuanGuo_Credit..shixin_quanguo where isnull(columnName,'')!='' group by columnName;
DECLARE @SQL varchar(max)=N'';
SET @SQL=STUFF((SELECT N','+QUOTENAME(columnName) FROM @T
FOR XML PATH('')),1,1,N'');
--PRINT @SQL;
SET @SQL=N'select * from (select columnName, columnValue,oid from QuanGuo_Credit..shixin_quanguo where oid=1586141) as ord
pivot(max(columnValue) for columnName in('+@SQL+N'))as p';
--PRINT @SQL;
--EXEC (@SQL);
-------------------------------------------
declare @sql varchar(8000) set @sql = 'select oid,record_id'
select @sql = @sql + ',max(case columnName when ''' + columnName + ''' then columnValue else null end) [' + columnName +
']'from (
select distinct(b.columnName) from Table_Html a,Table_Columns b where a.table_name='深圳国税局-税务登记证失效公告'
and a.ID=b.tableID )as t
set @sql = @sql + 'from (
select columnName ,columnID,columnValue, oid=b.tableid,record_id from Table_ColumnValue A
left join Table_Columns B on A.columnID=B.ID where B.tableid in (select id from table_html where table_name=' +'''深圳国税
局-税务登记证失效公告'''+')
) as d group by oid,record_id order by oid'
print(@sql)
exec(@sql)
---------------------------------------------------
select oid ,max(case columnName when '案号' then columnValue else null end) [案号],max(case columnName when '被执行人的履行
情况' then columnValue else null end) [被执行人的履行情况],max(case columnName when '地域名称' then columnValue else null
end) [地域名称],max(case columnName when '发布时间' then columnValue else null end) [发布时间],max(case columnName when '立
案时间' then columnValue else null end) [立案时间],max(case columnName when '年龄' then columnValue else null end) [年
龄],max(case columnName when '企业法人/负责人姓名' then columnValue else null end) [企业法人/负责人姓名],max(case
columnName when '身份证号' then columnValue else null end) [身份证号],max(case columnName when '失信被执行人具体情形' then
columnValue else null end) [失信被执行人具体情形],max(case columnName when '未履行部分' then columnValue else null end) [未
履行部分],max(case columnName when '性别' then columnValue else null end) [性别],max(case columnName when '已履行部分' then
columnValue else null end) [已履行部分],max(case columnName when '执行法院' then columnValue else null end) [执行法院],max
(case columnName when '执行依据文号' then columnValue else null end) [执行依据文号],max(case columnName when '作出执行依据
单位' then columnValue else null end) [作出执行依据单位]
from (
select columnName, columnID, columnValue,oid=B.tableID --ROW_NUMBER()OVER(PARTITION BY columnID ORDER BY A.id)oid
from Table_ColumnValue A
left join Table_Columns B on A.columnID=B.ID
where B.tableID in(select top 5 id from Table_Html)
) as a group by oid
SQL 行转列和列转行2的更多相关文章
- 做图表统计你需要掌握SQL Server 行转列和列转行
说在前面 做一个数据统计和分析的项目,每天面对着各种数据,经过存储过程从源表计算汇总后需要写入中间结果表以提高数据使用效率,那么此时就需要用到行转列和列转行. 1.列转行 数据经过计算加工后会直接生成 ...
- SQL 行转列和列转行
SQL 行转列和列转行 行列互转,是一个经常遇到的需求.实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现. 在读了技术内幕那一节后,虽说这些解决方案早就用过 ...
- sql中的行转列和列转行的问题
sql中的行转列和列转行的问题 这是一个常见的问题,也是一个考的问题 1.行转列的问题 简单实例 CREATE TABLE #T ( MON1 INT, MON2 INT, MON3 INT ) G ...
- sql 行专列 列转行 普通行列转换
转载:http://www.cnblogs.com/newwind521/archive/2010/11/25/1887203.html sql 行专列 列转行 普通行列转换 /* 标题:普通行列转换 ...
- (转载)重温SQL——行转列,列转行
原文地址:http://www.cnblogs.com/kerrycode/archive/2010/07/28/1786547.html 行转列,列转行是我们在开发过程中经常碰到的问题.行转列一般通 ...
- sql 行转列 PIVOT 列转行 UNPIVOT
原文:sql 行转列 PIVOT 列转行 UNPIVOT 一: 现有表一(t_table1),想转为表二(t_table2)的格式. 表一: 年 公司 收入 2013 公司1 12 2013 公司2 ...
- 【转载】SQL Server行转列,列转行
行转列,列转行是我们在开发过程中经常碰到的问题.行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 2005 新增的运算符PIVOT来实现.用传统的方法,比较好理解.层次清 ...
- 老生常谈之SQL Server (行转列,列转行)
Open the first article 在本文章中主要介绍以下内容: 1.静态行转列 2.静态列转行 3.动态行转列 4.动态列转行 1.静态行转列 --静态的行转列 --新建一个科目成绩表 - ...
- SQL行转列与列转行(转)
原文: http://blog.csdn.net/jx_870915876/article/details/52403472 add by zhj: 本文是以MySQL为例说明的,但其实它适用于所有关 ...
- SQL行转列(PIVOT)与列转行(UNPIVOT)简明方法
原文地址:https://www.cnblogs.com/linJie1930906722/p/6036714.html 在做数据统计的时候,行转列,列转行是经常碰到的问题.case when方式太麻 ...
随机推荐
- Emacs 相关资料翻译
Table of Contents 1. 37 Document Viewing 2. EmacsrelatedTranslation 2.1. Spacemacs 配置层(Configuration ...
- Hibernate入门与简谈
Hibernate jdbc Java Databases Connectivity, 他是提供了一组Java API来访问关系数据库的Java程序.这些Java API 可以使Java应用程序执行S ...
- 通过JavaScript改变HTML样式
语法:Object.style.property=new style; 基本属性表如下: 示例: 改变 <p> 元素的样式,将颜色改为红色,字号改为20,背景颜色改为蓝: <p id ...
- Type.GetType()反射另外项目中的类时返回null的解决方法
项目1:ProjectA namespace ProjectA { public class paa { .... } } Type.GetType("paa")返回null Ty ...
- eclipse创建maven管理Spark的scala
说明,由于spark是用scala写的.因此,不管是在看源码还是在写spark有关的代码的时候,都最好是用scala.那么作为一个程序员首先是必须要把手中的宝剑给磨砺了.那就是创建好编写scala的代 ...
- linux下查看进程状态
1.查看进程的启动时间和执行时间 使用 ps 命令 :#ps -A -opid,stime,etime,args $ ps -A -opid,stime,etime,args PID STIME EL ...
- iOS开发笔记1:[转]导航栏里的"Back"按钮显示不出来
最近项目中遇到一个问题,push过去的ViewController的Nav上面没有返回按钮,遂搜索资料,找到了以下文档.经测试i,问题解决. 原文地址:http://www.cnblogs.com/s ...
- 团队开发——冲刺2.f
冲刺阶段二(第六天) 1.昨天做了什么? 编写软件测试计划书第二部分:游戏中新增3个道具(变大.变小.延时). 2.今天准备做什么? 1) 编写软件计划书第三阶段(项目任务.实施计划.风险管理): 2 ...
- javascript运动应用
多物体运动框架: 1.多个盒子同时运动:move(obj,target)多一个参数 <!DOCTYPE html><html><head> <title> ...
- UVA 12549 - 二分图匹配
题意:给定一个Y行X列的网格,网格种有重要位置和障碍物.要求用最少的机器人看守所有重要的位置,每个机器人放在一个格子里,面朝上下左右四个方向之一发出激光直到射到障碍物为止,沿途都是看守范围.机器人不会 ...