1.数据准备

create  table  Vertical(
  Id  int ,
  ProjectName varchar(20),
  ProjectValue int
)

insert into  Vertical  values (101,'旅游',100)
insert into  Vertical  values (101,'牧业',101)
insert into  Vertical  values (101,'工业',102)
insert into  Vertical  values (101,'软件',103)
insert into  Vertical  values (102,'旅游',200)
insert into  Vertical  values (102,'牧业',201)
insert into  Vertical  values (102,'工业',202)
insert into  Vertical  values (102,'软件',203)

select *from  Vertical

--返回格式:

[{'Id':'101','旅游':'100','牧业':'101','工业':'102','软件':'103'},{'Id':'102','旅游':'200','牧业':'201','工业':'202','软件':'203'}]

Create  proc VerticaltoHorizontal
 @tbname varchar(20),
 @returnmsg varchar(1000) out
 as
   begin
   declare @id int
   declare @name varchar(20)
   declare @value int
   declare @strjson varchar(1000)
   declare @idintentity int =0
       declare  v2h  cursor
       for select  id,ProjectName,projectvalue from vertical
       open v2h
       fetch v2h into  @id,@name,@value
       while @@FETCH_STATUS=0
         begin
          if(@idintentity=0)
            set @strjson='{''Id'':'''+CAST(@id as varchar(10))+''','''+@name+''':'''+CAST(@value as varchar(10))+''''
          else
             begin
               if (@idintentity= @id)
                 begin
                 set @strjson=@strjson+','''+@name+''':'''+CAST(@value as varchar(10))+''''
                 end
               else
                begin
                 set @strjson =@strjson+'},'
                 set @strjson=@strjson+'{''Id'':'''+CAST(@id as varchar(10))+''','''+@name+''':'''+CAST(@value as varchar(10))+''''
                end
             end
          set @idintentity= @id
          fetch v2h into  @id,@name,@value
         end
      close v2h
      deallocate  v2h
     set  @returnmsg  ='['+ @strjson+'}]'
   end
go

备注:竖转横 的表的实例很多,我建议还是在程序中处理比较好

SQL竖表转横表Json数据的更多相关文章

  1. SQL竖表转横表 / 横表转竖表

    竖表转横表 竖表结构: Name Course Grade 张三 语文 75 张三 数学 80 张三 英语 90 李四 语文 95 李四 数学 55 转换后横表结构: Name 语文 数学 英语 张三 ...

  2. 【转】纵表、横表互转的SQL

    纵表.横表互转的SQL 原文1:http://takkymj.iteye.com/blog/751401   横表就是普通的建表方式,如一个表结构为: 主键.字段1.字段2.字段3... 如果变成纵表 ...

  3. sql 语句纵表变横表

    现把转换方法列举如下: 1.纵表转横表: 纵表结构 TableA Name Course Grade 张三 语文 75 张三 数学 80 张三 英语 90 李四 语文 95 李四 数学 55 横表结构 ...

  4. 纵表、横表互转的SQL

    纵表.横表互转的SQL By:大志若愚 1.建表: 纵表结构 Table_A  create table Table_A ( 姓名 ), 课程 ), 成绩 int ) ) ) ) ) ) 姓名 课程 ...

  5. [No0000128]SQL纵表与横表互转

    1.纵表转横表: 纵表结构:Table1 转换后的横表结构: Sql示例代码: select username, sum(case Course when '语文' then Grade else 0 ...

  6. sql中纵表变横表

    纵表格式如图所示: 查询sql语句如下: ),content)content,Date from SummerChina ' 变成横表如图所示: 纵表变横表sql语句如下: select Time, ...

  7. SQL Server之纵表与横表互转

    1,纵表转横表 纵表结构 Table_A: 转换后的结构: 纵表转横表的SQL示例: SELECT  Name ,        SUM(CASE WHEN Course = N'语文' THEN G ...

  8. JAVA 根据数据库表内容生产树结构JSON数据

    1.利用场景 组织机构树,通常会有组织机构表,其中有code(代码),pcode(上级代码),name(组织名称)等字段 2.构造数据(以下数据并不是组织机构数据,而纯属本人胡编乱造的数据) List ...

  9. 扩展JQUERY 表单加载JSON数据

    $.fn.extend({ //表单加载json对象数据 setForm : function (jsonValue) { var obj = this; $.each(jsonValue, func ...

随机推荐

  1. vue-cli2.0+webpack 项目搭建

    一:准备工作 安装nodejs + 安装webpack + 配置环境变量 => 确保在dos界面的任何路径都都可直接使用命令 二:搭建项目 1.全局安装vue脚手架  [DOS界面] npm i ...

  2. 用Axure RP7创建响应式原型教程

    自从几年前响应式技术开始应用时,创建响应式原型就成为了很多人苦恼的事情.响应式设计用一种非常优雅的方式处理为多种设备类型使用HTML和CSS编码的应用,但是提供给UX专业人士的原型工具却没有具备同样品 ...

  3. 恭喜"微微软"喜当爹,Github嫁入豪门。

    今天是 Github 嫁入豪门的第 2 天,炒得沸沸扬扬的微软 Github 收购事件于昨天(06月04日)尘埃落定,微软最终以 75 亿美元正式收购 Github. 随后,Gitlab 趁势带了一波 ...

  4. 大批量数据导出excel

    有次面试时,老板问我大批量数据一次性导出会有什么问题 感谢度娘提供,感谢原博主提供 https://www.cnblogs.com/zou90512/p/3989450.html

  5. 8种nosql数据库对比

    1. CouchDB 所用语言: Erlang 特点:DB一致性,易于使用 使用许可: Apache 协议: HTTP/REST 双向数据复制, 持续进行或临时处理, 处理时带冲突检查, 因此,采用的 ...

  6. boost 字符串大小写转换

    示例代码如下: #include <boost/algorithm/algorithm.hpp> #include <iostream> using namespace std ...

  7. LL(1),LR(0),SLR(1),LALR(1),LR(1)对比与分析

    前言:考虑到这几种文法如果把具体内容讲下来肯定篇幅太长,而且繁多的符号对初学者肯定是极不友好的,而且我相信看这篇博客的人已经对这几个文法已经有所了解了,本篇博客的内容只是对 这几个文法做一下对比,加深 ...

  8. JavaSE_02_Thread类01

    1.1 并发与并行 并发:指两个或多个事件在同一个时间段内发生. 这在单 CPU 系统中,每一时刻只能有一道程序执行,即微观上这些程序是分时的交替运行,只不过是给人的感觉是同时运行,那是因为分时交替运 ...

  9. IIS+PHP+MYSQL搭建

    以下安装过程是在win7环境下: mysql安装参照前面windows下的mysql zip格式安装.下面主要讲除mysql以外的安装. 一.IIS安装 确保CGI被安装. 二.IIs安装成功后,安装 ...

  10. dubbo入门学习(二)-----dubbo hello world

    一.dubbo hello world入门示例 1.提出需求 某个电商系统,订单服务需要调用用户服务获取某个用户的所有地址: 我们现在需要创建两个服务模块进行测试: 模块 功能 订单服务web模块 创 ...