当前位置: 首页 > news >正文

Sql 动态行转列

  SELECT   ID, Name, [Month],auth
  FROM dbo.Test3

数据列表:

1.静态行专列

  Select auth, 
        MAX( CASE WHEN [Month] = '一月' then Name else null end) 一月,
        MAX( CASE WHEN [Month] = '二月' then Name else null end) 二月,
        MAX( CASE WHEN [Month] = '三月' then Name else null end) 三月,
        MAX( CASE WHEN [Month] = '四月' then Name else null end) 四月,
        MAX( CASE WHEN [Month] = '五月' then Name else null end) 五月,
        MAX( CASE WHEN [Month] = '六月' then Name else null end) 六月,
        MAX( CASE WHEN [Month] = '七月' then Name else null end) 七月,
        MAX( CASE WHEN [Month] = '八月' then Name else null end) 八月,
        MAX( CASE WHEN [Month] = '九月' then Name else null end) 九月,
        MAX( CASE WHEN [Month] = '十月' then Name else null end) 十月,
        MAX( CASE WHEN [Month] = '十一月' then Name else null end) 十一月,
        MAX( CASE WHEN [Month] = '十二月' then Name else null end) 十二月                
From dbo.Test3
Group By auth

2.利用PIVOT函数

SELECT auth, 一月, 二月, 三月, 四月 , 五月, 六月 ,七月, 八月 ,九月, 十月 ,十一月, 十二月 
     FROM (SELECT auth, [Month], Name FROM dbo.Test3) AS SourceTable  
PIVOT  
(  
  MAX(Name)  
  FOR [Month] IN (一月, 二月, 三月, 四月 , 五月, 六月 ,七月, 八月 ,九月, 十月 ,十一月, 十二月 )  
) AS PivotTable;

3.利用PIVOT,高效动态行转列 (参考上面,只要生成动态列塞进去就行了)


DECLARE @columns NVARCHAR(MAX) = '';  
  
-- 动态生成列名  
SELECT @columns +=  '' + [Month] + ','  
FROM dbo.Test3;
-- 去除最后一个逗号  
SET @columns = LEFT(@columns, LEN(@columns) - 1);   
PRINT(@columns)
  
-- 构建动态 SQL 查询  
DECLARE @sql NVARCHAR(MAX) = '  
SELECT auth, ' + @columns + '  
FROM   
(  
  SELECT auth, [Month], Name FROM dbo.Test3 
) AS SourceTable  
PIVOT  
(  
    MAX(Name)  
    FOR [Month] IN (' + @columns + ')  
) AS PivotTable;';  
  
-- 执行动态 SQL 查询
 
PRINT(@sql)  
EXECUTE(@sql);

结果:

相关文章:

Sql 动态行转列

SELECT ID, Name, [Month],auth FROM dbo.Test3 数据列表: 1.静态行专列 Select auth, MAX( CASE WHEN [Month] 一月 then Name else null end) 一月, MAX( CASE WHEN [Month] 二月 then Name else null end) 二月, MAX( CASE WHEN…...

记录 App webview加载h5页面有上传图片,应用商店审核必须加授权提示问题的解决方案

场景: 1、项目内加载了h5页面的七鱼客服,(相当于webview 加载help.html) 2、应用上架要求必须有授权提示弹窗 解决思路 1、客服的h5 页面在跳转时候,给父层webview 发消息,注入一段拦截代码,监听到有上传操作时候&…...

Stable Diffusion模型原理

1 Stable Diffusion概述 1.1 图像生成的发展 在Stable Diffusion诞生之前,计算机视觉和机器学习方面最重要的突破是 GAN(Generative Adversarial Networks 生成对抗网络)。GAN让超越训练数据已有内容成为可能,从而打开了一个全新…...

【Android 13】使用Android Studio调试系统应用之Settings移植(二):构建settings app项目目录

文章目录 一、篇头二、系列文章2.1 Android 13 系列文章2.2 Android 9 系列文章2.3 Android 11 系列文章三、准备工作3.1 创建目录3.2 初始化 git 仓库四、提取settings原始代码4.1 提取目标4.2 源码路径4.2.1 settings app4.2.2 SettingsLib4.3 存放位置...

w16php系列之基础数组

一、索引数组 概念 索引数组 是指键名为整数的数组。默认情况下&#xff0c;索引数组的键名是从0开始&#xff0c;并依次递增。它主要适用于利用位置&#xff08;0、1、2……&#xff09;来标识数组元素的情况。另外&#xff0c;索引数组的键名也可以自己指定 示例代码 <…...

【C语言】指针详解(四)

目录 1.assert断言 2.指针的使用和传址调用 2.1strlen的模拟使用 2.2传值调用和传址调用 1.assert断言 assert.h头文件定义了宏 assert()&#xff0c;用于在运行时确保程序符合指定条件&#xff0c;如果不符合&#xff0c;就报错终止运行。这个宏常常被称为“断言”。 例如…...

算法leetcode|94. 二叉树的中序遍历(多语言实现)

文章目录 94. 二叉树的中序遍历&#xff1a;样例 1&#xff1a;样例 2&#xff1a;样例 3&#xff1a;提示&#xff1a; 分析&#xff1a;题解&#xff1a;rust&#xff1a;go&#xff1a;c&#xff1a;python&#xff1a;java&#xff1a; 94. 二叉树的中序遍历&#xff1a; …...

3.[BUUCTF HCTF 2018]WarmUp1

1.看题目提示分析题目内容 盲猜一波~ &#xff1a; 是关于PHP代码审计的 2.打开链接&#xff0c;分析题目 给你提示了我们访问source.php来看一下 大boss出现&#xff0c;开始详细手撕~ 3.手撕PHP代码&#xff08;代码审计&#xff09; 本人是小白&#xff0c;所以第一步&…...

rocky linux9 安装go 即接下去

首先&#xff0c;更新系统的软件包索引以获取最新的软件包信息&#xff1a; sudo dnf update使用以下命令安装 Go 语言&#xff1a; sudo dnf install golang安装完成后&#xff0c;你可以通过以下命令验证 Go 语言是否安装成功&#xff1a; go version4、用相对路径初始化g…...

NLP中的嵌入层

在自然语言处理&#xff08;NLP&#xff09;中&#xff0c;嵌入层&#xff08;Embedding Layer&#xff09;是一个特殊的层&#xff0c;通常用于深度学习模型的第一层&#xff0c;它的作用是将离散的文本数据&#xff08;如单词或短语&#xff09;转换为连续的向量表示。每个单…...

MongoDB文档操作

3.3 文档操作 3.1 文档介绍 文档的数据结构和 JSON 基本一样。 所有存储在集合中的数据都是 BSON 格式。 BSON 是一种类似 JSON 的二进制形式的存储格式&#xff0c;是 Binary JSON 的简称。 文档是一组键值(key-value)对(即 BSON)&#xff0c;一个简单的文档例子如下&…...

解决谷歌浏览器下CSS设置字体小于12px无效办法,关于如何在chrome里实现小于12px的文字。

关于如何在chrome里实现小于12px的文字。 当然文字缩小到12px以下本来就一定程度影响到可用性了&#xff0c;建议无视chrome的这个特性。 谷歌浏览器默认最小字体为12px&#xff0c;小于12px的字体它都以12px显示&#xff0c;有时我们需要字体小点&#xff0c;特别是在制作英文…...

springboot(ssm智慧校园之家长子系统 智慧校园系统Java系统

springboot(ssm0智慧校园之家长子系统 智慧校园系统Java系统 开发语言&#xff1a;Java 框架&#xff1a;ssm/springboot vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;mysql 5.7&#xff08;或8.0&#xff09…...

RM3100 stm32驱动(硬件i2c)

目录 RM3100接线HAL库I2C函数HAL_I2C_Mem_ReadHAL_I2C_Mem_WriteHAL_I2C_Master_Transmit / HAL_I2C_Master_Receive例子 HSHAKE寄存器 cubemx配置RM3100寄存器驱动最终效果 RM3100接线 原理图 SA0 SA1接地&#xff0c;此时i2c设备地址为0100000&#xff0c;即0x20 如果SA0接…...

视觉学习(7) —— 接收数据和发送数据以及全局变量和浮点数

1、前提 创建一个四个字节的地址 2、发送数据 &#xff08;1&#xff09;直接发送数据 再观察地址里的值 与我们想要值不一样 输入0&#xff0c;而实际值则为 结论&#xff1a;直接输入值到地址&#xff0c;值会发生变化 &#xff08;2&#xff09;走全局变量发送数据 添加全…...

leetcode 1576. 替换所有的问号(easy)(优质解法)

链接&#xff1a;1576. 替换所有的问号 代码&#xff1a; class Solution {public String modifyString(String s) {char[] charSs.toCharArray();int lengthcharS.length;//遍历找到 &#xff1f;for(int i0;i<length;i){if(charS[i]?){//遍历 a ~ z 选择一个合适的字符来…...

Advanced IP Scanner - 网络扫描器

Advanced IP Scanner - 网络扫描器 1. Advanced IP ScannerReferences https://www.advanced-ip-scanner.com/cn/ ​ 可靠且免费的网络扫描器可以分析 LAN。该程序可扫描所有网络设备&#xff0c;使您能够访问共享文件夹和 FTP 服务器&#xff0c;(通过 RDP 和 Radmin) 远程控制…...

搜索百度百科官方创建入口,怎么创建更新公司的百度百科词条呢?

在百度搜索百度百科找到百度百科官方创建入口&#xff0c;可以上传并创建公司类的百度百科词条&#xff0c;创建词条后还可以再修改更新百科词条&#xff0c;最终完善好的百度百科词条将会在百度上获得大量曝光。那么百度百科可以怎么创建&#xff0c;下面洛希爱做百科网把十多…...

大数据与人工智能|全面数字化战略与企业数字化转型(第1节 )

要点一&#xff1a;培养跨学科思维 在分析时&#xff0c;需要采用多学科的思维方式 结果不重要&#xff0c;重要的是如何提炼现象、分析问题和得出结论的过程。 1. 介绍了锤子精神和多学科思维方式的重要性。指出了只从自身学科出发解决问题的局限性。 2. 提倡跨学科思维方式&a…...

【四】【C语言\动态规划】地下城游戏、按摩师、打家劫舍 II,三道题目深度解析

动态规划 动态规划就像是解决问题的一种策略&#xff0c;它可以帮助我们更高效地找到问题的解决方案。这个策略的核心思想就是将问题分解为一系列的小问题&#xff0c;并将每个小问题的解保存起来。这样&#xff0c;当我们需要解决原始问题的时候&#xff0c;我们就可以直接利…...

开源项目Markdown Viewer:如何打造完美的浏览器Markdown阅读体验

开源项目Markdown Viewer&#xff1a;如何打造完美的浏览器Markdown阅读体验 【免费下载链接】markdown-viewer Markdown Viewer / Browser Extension 项目地址: https://gitcode.com/gh_mirrors/ma/markdown-viewer 作为一款功能强大的开源项目&#xff0c;Markdown Vi…...

淘宝淘金币自动化脚本:每天节省25分钟的数字生活革命

淘宝淘金币自动化脚本&#xff1a;每天节省25分钟的数字生活革命 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本&#xff0c;包含蚂蚁森林收取能量&#xff0c;芭芭农场全任务&#xff0c;解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/taojinbi 你是否…...

NY378固态MT29F32T08GSLBHL8-24QA:B

NY378固态MT29F32T08GSLBHL8-24QA:B你是否曾好奇&#xff0c;那些默默支撑着工业设备稳定运行、保障数据高速流转的存储核心&#xff0c;究竟蕴藏着怎样的技术密码&#xff1f;今天&#xff0c;我们将聚焦一颗在特定领域中扮演关键角色的芯片——来自美光&#xff08;Micron&am…...

告别手写解析!用Python Cantools 39.4.5一键生成CAN/CANFD DBC的C代码(附批处理脚本)

从DBC到C代码&#xff1a;Python Cantools全自动转换实战指南 在汽车电子和嵌入式开发领域&#xff0c;CAN总线通信是核心基础设施&#xff0c;而DBC文件则是定义CAN/CANFD通信协议的行业标准。传统开发流程中&#xff0c;工程师需要手动解析DBC文件并编写大量信号打包/解包代码…...

数据结构:3.包装类和泛型

【目标】1.了解包装类 2. 以 能阅读java集合源码 为目标学习泛型3.了解泛型1.包装类&#xff08;Wrapper Class&#xff09;1.1 引出包装类1.1.1 什么是包装类&#xff1f;一句话&#xff1a; 包装类就是把 Java 的 8 种基本数据类型&#xff08;int, double, char 等&a…...

如何快速解锁教学控制:JiYuTrainer极域电子教室防控制完全指南

如何快速解锁教学控制&#xff1a;JiYuTrainer极域电子教室防控制完全指南 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 你是否曾在计算机课堂上&#xff0c;眼睁睁看着老师的演…...

RISC-V开放架构如何重塑垂直半导体商业模式

1. 从边缘到中心&#xff1a;RISC-V的崛起与半导体模式的裂变最近和几位在芯片设计公司工作的老朋友聊天&#xff0c;话题总绕不开RISC-V。十年前&#xff0c;当我们还在讨论ARM和x86谁主沉浮时&#xff0c;RISC-V还只是学术界论文里的一个概念。如今&#xff0c;它已经成了行业…...

机器学习核心术语全解析:从评估指标到TensorFlow实战避坑指南

1. 项目概述与核心价值刚接触机器学习&#xff0c;尤其是像TensorFlow这样庞大框架的朋友&#xff0c;最头疼的莫过于满屏的英文术语。什么“Backpropagation”、“Softmax”、“Embedding”&#xff0c;每个词都认识&#xff0c;但组合在一起就让人云里雾里。更别提那些缩写&a…...

保姆级教程:用S32K344的FlexCAN模块实现CAN FD通信(附代码解析)

从零构建S32K344的CAN FD通信系统&#xff1a;硬件连接、寄存器配置与实战代码解析 在汽车电子和工业控制领域&#xff0c;CAN FD协议正逐步取代传统CAN成为主流总线标准。NXP S32K344微控制器内置的FlexCAN模块完美支持CAN FD协议&#xff0c;其最高8Mbps的数据传输速率和64字…...

智慧工业轮胎X光图像金属与结构缺陷检测数据集VOC+YOLO格式896张11类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数)&#xff1a;896标注数量(xml文件个数)&#xff1a;896标注数量(txt文件个数)&#xff1a;896标注类别数&…...