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方式太麻 ...
随机推荐
- 重读高程3: c2-3 script元素
1. 异步脚本一定会在页面的load事件前执行,但可能会在domC ontentLoaded事件触发之前或者之后执行.
- 工厂方法模式与IoC/DI
IoC——Inversion of Control 控制反转 DI——Dependency Injection 依赖注入 1:如何理解IoC/DI 要想理解上面两个概念,就必须搞清 ...
- 不管你以后写不写JS,都应该学会这种思考方式
昨天在网上看到了一篇文章说程序员写不过35这种说法,但事实上,确实并不能每个人都像我一样,在写JS中找到乐趣,就乐意写这东西直到50岁眼瞎为止. 那肯定有人要问,也许我不仅写JS写不到35,可能我连3 ...
- linux下内存泄露检测工具Valgrind介绍
目前在linux开发一个分析实时路况的应用程序,在联合测试中发现程序存在内存泄露的情况. 这下着急了,马上就要上线了,还好发现了一款Valgrind工具,完美的解决了内存泄露的问题. 推荐大家可以使用 ...
- google软件测试之道--读后笔记
看完google软件测试之道,以前有认真看过一次,今天又重新看了一遍. 在google,测试人员严格区分为SET和TE.SET前期深度参与项目的开发,推动开发人员的自测,从破坏者的角度寻 ...
- Java的流程控制和C++的异同
Java的流程控制和C++基本相似 现将不同的地方总结一下,以便快速掌握. Java的特殊流程控制的特殊部分: 1.顺序结构 -- 没有区别 2.分之结构 -- 没有区别 3.循环结构 1> ...
- node.js实用小模块
1.浮点数操作 npm install float 2.MD5加密类 npm install MD5 3.xml解析类 1 npm install elementtree 4.转换字符串大小写 1 n ...
- Android 终于官方支持按百分比来设置控件的宽高了
dependencies { compile 'com.android.support:percent:22.2.0' } 支持布局 PercentRelativeLayout <android ...
- mysql 添加用户并授权
mysql> create database dogDB; mysql> CREATE USER 'dog'@'%' IDENTIFIED BY '123456'; mysql> g ...
- ios 改变push方向,可以把present改为push方式
- (void)pop{ CATransition* transition = [CATransition animation]; transition.duration = 0.5; ...