fastreport实现动态列_SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)...

0ec949b1294cd9561f8685f600cd46f4.png

a69d5739ee3666c5fbd1f964cfa400bf.gif

阅读本文约需要5分钟

大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈)。上次老师跟大家分享了下简单实用SQL脚本用法(二)的相关知识,今天跟大家分享SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)的知识。
参考来源:https://www.cnblogs.com/gaizai/p/3753296.html

一.本文所涉及的内容(Contents)

  1. 本文所涉及的内容(Contents)

  2. 背景(Contexts)

  3. 实现代码(SQL Codes)

    1. 方法一:使用拼接SQL,静态列字段;

    2. 方法二:使用拼接SQL,动态列字段;

    3. 方法三:使用PIVOT关系运算符,静态列字段;

    4. 方法四:使用PIVOT关系运算符,动态列字段;

    5. 扩展阅读一:参数化表名、分组列、行转列字段、字段值;

    6. 扩展阅读二:在前面的基础上加入条件过滤;

二.背景(Contexts)

其实行转列并不是一个什么新鲜的话题了,甚至已经被大家说到烂了,网上的很多例子多多少少都有些问题,所以我希望能让大家快速的看到执行的效果。

所以在动态列的基础上再把表、分组字段、行转列字段、值这四个行转列固定需要的值变成真正意义的参数化,大家只需要根据自己的环境,设置参数值,马上就能看到效果了(可以转至:“参数化动态PIVOT行转列”查看具体的脚本代码)。行转列的效果图如图1所示:

561710c33dba4ccfc038301dcc0d0bcb.png

(图1:行转列效果图)

三.实现代码(SQL Codes)

(一) 首先我们先创建一个测试表,往里面插入测试数据,返回表记录如图2所示:

--创建测试表IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[TestRows2Columns]') AND type in (N'U'))DROP TABLE [dbo].[TestRows2Columns]G
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值