SQL Server 逆透视两列

2024-03-29

我正在尝试旋转表格以获得 3 列

我的示例表如下:

CREATE TABLE tbl1 (A1 int, cA1 int,A2 int, cA2 int,A3 int, cA3 int)
GO
INSERT INTO tbl1  VALUES (60,2,30,3,10,5);
GO

我使用下面的查询来获取两列的结果:

select A, value from tbl1
unpivot
(
value
for A in ([A1], [A2],[A3])
) un1;

结果如下:

A | value
--+-------
A1|60
A2|30
A3|10

但我想添加第二列,结果如下:

A | value1 | value2
--+--------+--------
A1| 60     | 2
A2| 30     | 3
A3| 10     | 5

有什么帮助吗?


我会用APPLY:

select v.*
from tbl1 t cross apply
     (values ('A1', t.A1, t.cA1),
             ('A2', t.A2, t.cA2),
             ('A3', t.A3, t.cA3)
     ) v(A, value1, value2);

CROSS APPLY实现了一个lateral加入。这比仅仅反转数据要强大得多,尽管反转数据是开始学习横向连接的一种简单方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server 逆透视两列 的相关文章

  • 选择两列中两个日期之间的记录

    如何选择两列中两个日期之间的记录 Select From MyTable Where 2009 09 25 is between ColumnDateFrom to ColumnDateTo 我有一个日期 2009 09 25 我喜欢选择
  • 导入到 SQL Server 时忽略 Excel 文件中的列

    我有多个具有相同格式的 Excel 文件 我需要将它们导入 SQL Server 我当前遇到的问题是 有两个文本列我需要完全忽略 因为它们是自由文本 并且某些行的字符长度超出了服务器允许我导入的长度 这会导致截断错误 因为我的分析不需要这些
  • 从VBA中的数组批量插入到sql中

    我正在尝试在 Excel 中构建一个按钮 将所选区域上传到 SQL Server 中的表中 第一行将自动视为列标题 这件事该怎么继续下去呢 我想要的是简单和超快的上传 这是我的想法 我将选择选定的区域 然后将其保存为 txt 文件 然后对其
  • 如何更新 SQL Server 2000 中的 text 或 ntext 字段

    所以我需要更新一个文本字段 在下面使用时 UPDATE 语句或 WRITETEXT 语句都不起作用 CREATE TABLE MyTable IDField int MyField text INSERT INTO MyTable IDFi
  • SQL Server 之间

    我有一个表 其中有年 月和一些数字列 Year Month Total 2011 10 100 2011 11 150 2011 12 100 2012 01 50 2012 02 200 现在 我想要SELECT2011 年 11 月至
  • Sql 查询:Sum,表中所有可能的行组合

    SQL Server 2008 R2 表结构示例 create table TempTable ID int identity value int insert into TempTable values 6 insert into Tem
  • 如何找到在SQL Server中注册的程序集?

    我在 SQL Server 中注册了一个程序集 CREATE ASSEMBLY CLRFunctions AUTHORIZATION dbo FROM 0x4D5A90000300000 WITH PERMISSION SET SAFE 我
  • 在SQL Server中仅获取浮点数的小数部分[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我在 SQL Server 2008
  • 在单个更新语句上使用事务

    我在工作中为一些 SP 配音 我发现编写代码的人在单个更新语句上使用了事务 如下所示 begin transaction single update statment update table whatever with whatever
  • 是否可以使用“WHERE”子句来选择SQL语句中的所有记录?

    晚上好 我很好奇是否可以在 SQL 语句中创建一个 WHERE 子句来显示所有记录 下面一些解释 随机 SQL 语句 Java JSP示例 正常情况 String SqlStatement SELECT FROM table example
  • 如何在 SQL Server 中添加具有自动增量值的字符串?

    如何在SQL Server中添加具有自动增量值的字符串 create table date sno int emp identity 1 1 我需要以下作为输出 emp 1 emp 2 用普通定义你的表INT IDENTITY column
  • SQL Server 查询结果集的大小

    SQL Server 中是否有确定结果集中 Mgmt Studio 查询中返回的数据大小 以 MEGS 为单位 您可以打开客户端统计信息 查询菜单 包括客户端统计信息 它给出执行查询时从服务器返回的字节数
  • SQL - 为每条记录调用存储过程

    我正在寻找一种方法来为 select 语句的每条记录调用存储过程 SELECT SomeIds SELECT spro Id FROM SomeTable as spro INNER JOIN Address addr ON addr Id
  • 将多行合并为一行并根据行数附加列

    我正在尝试将同一个表的多行合并为一个 我有一个像这样的示例表 Col1 Col2 Col3 Col4 Col5 Col6 1 BH1 CB 12 CC CC Conveyor Mal 1 BH1 CB 104 ZC ZC Full Emp
  • SQL Server 中的派生表

    我有这两个疑问 我不知道如何将它们组合在一起来制作派生表 我假设使用第二个查询作为主查询 并在主查询的 FROM 子句中使用第一个查询 SELECT EmailAddress Orders OrderID SUM ItemPrice Qua
  • MySQL 中的 UDF 性能

    我注意到 当查询在 SELECT 或 WHERE 子句中调用 UDF 时 MySQL 查询执行时间的性能会呈指数级下降 有问题的 UDF 查询本地表以返回标量值 因此它们不仅执行算术表达式 而且充当相关子查询 我通过简单地删除 UDF 并使
  • 如何对 SQL Server Express 进行实时更改

    我一直在使用 VS studio 开发一个 ASP NET Web 应用程序 我正在使用 SQL Server Express 在开发过程中 我一直在我的服务器上测试我的网络应用程序 每次我需要更新数据库时 我都会简单地删除旧数据库 位于我
  • 按两列的最小值排序

    I use SQL Server 2008 R2 我需要按两列的最小值对表进行排序 该表如下所示 ID integer Date1 datetime Date2 datetime 我希望我的数据按至少两个日期排序 以这种方式对该表进行排序的
  • PHP、PDO 和 SQLSRV 对一个 INSERT 语句执行多次

    我已经在 MySQL 和 Apache 服务器上使用 PDO 和 PHP 一段时间了 我最近的任务是将企业的旧 Web 应用程序转换为新设置 旧设置是标准 Linux Web 堆栈 Apache PHP MySQL Filezilla 新设
  • 在 Navicat Premium 中连接到 LocalDB 服务器

    Recently I installed LocalDb Serer on my laptop I am trying to establish a connection between Navicat and LocalDB server

随机推荐

  • ggplot 泊松密度曲线:为什么是锯齿形线?

    我想绘制泊松分布的密度函数 我不知道为什么我会得到一条锯齿线 蓝色 在样本图上 正态密度曲线 红色 看起来很平滑 这是因为泊松密度函数不接受小数值的原因吗 如何消除泊松密度图中的锯齿 非常感谢您的帮助 library ggplot2 ggp
  • Salesforce OAuth 身份验证不适用于用户名和密码

    我在 Salesforce 中创建了一个新的连接应用程序 我正在尝试使用用户名和密码进行身份验证 OAuth 方法使用 Postman 获取令牌 我正在到达以下端点https login salesforce com services oa
  • vscode/eslint 抱怨解析错误:声明模块内只允许声明和类型导入

    我有以下内容index d ts file declare module mytypes interface Constructor
  • Android - 2 个活动同时活动

    我有一个游戏活动 如果用户按下菜单中的聊天选项 onOptionsItemSelected 我还会在顶部运行一个透明的聊天活动 问题是 当玩家在我开始游戏之前启动 ChatActivity 时 会出现奇怪的行为 并且游戏无法开始 有什么方法
  • java中如何将rgb颜色转换为int

    Paint setColor期待一个整数 但我有的是Color目的 我没有看到color getIntValue 在Java中 那么我该怎么做呢 我想要的是类似的东西 public Something myMethod Color rgb
  • 仅针对特定端点的其余模板日志记录请求和响应

    我正在尝试记录 Resttemplate 请求和响应以及它working我的参考是这个https www baeldung com spring resttemplate logging https www baeldung com spr
  • TensorFlow 对象检测 API - 内存不足

    我正在使用 Tensorflow 对象检测 API 来训练我自己的对象检测器 我下载了faster rcnn inception v2 coco 2018 01 28来自模型动物园 here https github com tensorf
  • isalpha() 给出一个断言

    我有一个 C 代码 其中在 ctype h 中使用标准库函数 isalpha 这是在 Visual Studio 2010 Windows 上 在下面的代码中 如果 char c 是 则 isalpha 调用将返回一个断言 如下面的快照所示
  • 模式切换是否发生从用户线程切换到内核线程?

    我对用户 内核线程和模式 上下文切换感到困惑 平台 Linux 我有两个相关的问题 1 下列句子正确的是 如果我进行系统调用 则会发生模式切换 用户模式到内核模式 并最终从用户线程切换到内核线程 由于系统调用只能在内核线程中执行 因此我认为
  • Define True,如果不定义,会导致语法错误

    我今天在别人的代码中发现了以下构造 try True False except NameError True 1 1 False 1 0 据我了解 它定义了True and False如果它们尚未定义 因此 如果定义了它们 则不应抛出Nam
  • 在 Rails 中制作用户年龄的饼图

    我的用户模型中有这个函数可以计算用户年龄 def get age now Time now utc to date now year dob year now month gt dob month now month dob month n
  • Ionic:Android 模拟器错误

    我正在尝试使用 Android Studio v3 0 附带的 Android 模拟器来测试我的 Ionic 3 16 0 混合应用程序 myapp gt ionic cordova build android成功创建构建 但当我跑步时 m
  • 画布在鼠标事件上获取点

    我有以下函数来获取鼠标单击位置 坐标 myCanvas on click function e event e event event window event var canvas document getElementById myCa
  • 适用于 Windows 的 Docker 桌面

    我正在尝试在我的 Windows 10 Pro 64 位计算机上运行 Docker 桌面 其构建规范和设置详细信息如下 版本 Windows 10 专业版 64 位 版本 1903 操作系统版本 18362 657 CPU 英特尔 i7 H
  • MySql触发器更新选择插入后的总和

    我有三张桌子 Members Accounts 交易 在将新事务插入事务表后 我想用所有 Transactions TransactionAmount 的总和更新 Accounts AccountBalance 以下代码似乎对我不起作用 有
  • 不幸的是 已停止

    所以我不知道关于双重帖子的规则是什么 任何我在其他问题上没有得到后续支持的人 任何我的问题被陈述的人 这是我的 logcat 05 28 19 45 03 464 I ActivityManager 274 Start proc xela
  • UnicodeEncodeError:“ascii”编解码器无法对位置 47 中的字符 u'\u2019' 进行编码:序数不在范围内(128)

    我正在使用 Python 2 7 和 MySQLdb 1 2 3 我尝试了在 stackoverflow 和其他论坛上找到的所有内容来处理我的脚本抛出的编码错误 我的脚本从源 MySQL 数据库中的所有表中读取数据 并将它们写入 pytho
  • django modelformset_factory 中的 MultiValueDictKeyError

    我正在尝试实现一个编辑表单集 然后 我使用 modelformset factory 实例化表单集中的对象 当请求不是 POST 时 表单集会完美加载 但是 如果请求是 POST 则表单集构造函数会引发 MultiValueDictKeyE
  • 出口交易需要客户名称和地址 - Stripe 错误

    我正在使用 stripe SDK 创建客户并使用 API 向客户收费 但出现错误 致命错误 未捕获 状态 400 请求 req ZyqUtykjUcOqrU 根据印度法规 出口交易需要客户名称和地址 更多信息请参见 https stripe
  • SQL Server 逆透视两列

    我正在尝试旋转表格以获得 3 列 我的示例表如下 CREATE TABLE tbl1 A1 int cA1 int A2 int cA2 int A3 int cA3 int GO INSERT INTO tbl1 VALUES 60 2