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 逆透视两列 的相关文章

  • 查询不可更新

    我正在尝试使用 BE SQL Server 2012 Express 中的记录更新本地 Access 2007 表 我的步骤在这里 SQL Server中存在带有4个参数的存储过程来获取所需的记录 Access VBA中有调用SP并进行临时
  • 将文件存储在文件系统上或在 SQL Server 中存储为 varbinary(MAX)

    我知道 对于将文件作为 blob 存储在数据库中是否是不好的做法存在很多争议 但我只是想了解这对于我的情况是否有意义 我正在创建一个 ASP NET 应用程序 在一家大公司内部使用 用户需要能够将文件附加到系统中的 作业 这些文件通常是 P
  • 从 Perl 脚本 DBI 关闭 MSSQL 服务器

    我正在写一个 perl 脚本 其中我必须关闭我的 mssql 服务器 做一些操作 然后我必须重新启动它 我知道一种方法是使用 netstat 来停止服务 但我不能使用它 所以我尝试安装 DBI 和 DBD ODBC 模块 我可以通过以下代码
  • 通过 Plesk 面板托管 SQL Server 数据库时出现问题

    首先 我提供有关我的产品订阅的信息 我还订阅了一年的 Plesk Windows 托管 终极 订阅 此外我还订阅了一年的 SiteLock 我正在尝试使用 SQL Server 数据库托管 ASP NET 网站 但我很难做到这一点 首先 我
  • 验证 C# 中的小数是否存储在 SQL Server 中

    我有一个十进制数据库列decimal 26 6 据我所知 这意味着精度为 26 小数位数为 6 我认为这意味着该数字的长度总共可以是 26 位数字 其中小数点后可以有 6 位数字 在我的 WPF C 前端中 我需要验证传入的小数 以便我可以
  • SQL - 用 varchar 替换 is null 整数

    我正在尝试用新的列替换列varchar如果 select 语句中存在空值 则为字符串 personid ISNULL personid no person 我不想更新它 只是在查询结果中将值显示为 无人 但我收到一条错误消息 将 varch
  • 警告:mysqli_stmt::bind_param():变量数量与准备好的语句中的参数数量不匹配[重复]

    这个问题在这里已经有答案了 我收到以下错误 Warning mysqli stmt bind param Number of variables doesn t match number of parameters in prepared
  • #DELETE 在 Access 中查看 SQL Server 表

    今天早上又出现了一个新问题 我的数据库驻留在 SQL Server 上 并使用 Access 作为前端 其中一个已经使用了至少 10 年的数据库今天突然停止工作 我发现这个问题影响了 2 个 可能更多 我没有检查所有 表 当我在访问中打开表
  • MySQL CREATE TABLE 语句上的外键错误(错误:150)

    我觉得我已经在一对非常简单的创建表语句上尝试了一切可能的方法 类型匹配 我尝试使用 ENGINE InnoDB 等 但很困惑为什么我收到外键错误 我已经离开 SQL 一段时间了 所以这可能是一个简单的问题 mysql gt CREATE T
  • 使用不存在和联接的 SQL 查询到 LINQ 语法

    我的 SQL 查询如下所示 在 SQL 中运行良好 我需要将其转换为 LINQ 语法 SQL SELECT Key Id FROM LocalizationKeys AS lk WHERE NOT EXISTS SELECT 1 FROM
  • .Net 将 NULL 值从变量值插入 SQL Server 数据库

    也有类似的问题 但答案不是我想要的 如果引用为 NULL 或尚未分配值 我想将 NULL 值插入 SQL Server 数据库 目前我正在测试 null 它看起来像 String testString null if testString
  • BCP 语法问题

    总之 我正在尝试编写一个可以每天从 SQL Server 2008 实例上的批处理文件运行的查询 我以前从未使用过 BCP 但在查看了一些在线示例后 我尝试创建一个真正的基本查询来测试计算机上的进程和权限 然后再将选择查询扩展到所需的数据集
  • 如何在 SQL Server 查询中的 FROM 子句中使用变量?

    我正在创建一个查询 该查询将选择表中的所有数据 查询将根据我将传递给存储过程的变量选择表 在我的例子中 如果我执行example sp table1它将选择table1 如果我使用同样的事情example table table2 应该选择
  • 单个 sql 查询可以处理 sql server 中的 null 或值日期范围

    使用 SQL Server 2008 我有一个存储过程 其中开始日期和结束日期作为日期范围的输入参数 寻找一个singlesql 查询 其中在 where 子句中有一个开始日期和结束日期 可以处理日期均为空或都有值的两种情况 我不想使用 I
  • 防止从 SSMS 导出的文件中受影响的行条目

    我怎样才能防止这样的条目 123456 rows affected 在文件末尾导出的文本文件中 似乎没有找到选项 谢谢 你可以使用 SET NOCOUNT ON 不设置计数 https learn microsoft com en us s
  • SQL Server - 在设置 COLLATE Latin1_General_CS_AS 的情况下搜索不区分大小写

    家长提问 https stackoverflow com questions 50974562 sql server update to match and replace only exact words感谢 Iamdave 部分问题得到
  • SQL:列出多个连接语句中的重复记录?

    你好 以下查询在连接多个表后返回所有员工 select e from dbo EMP e join dbo HREMP a on a ID e ID join dbo LOGO c on c EMPID e id join dbo LOGO
  • 将 Python 中创建的 pandas 数据框插入 SQL Server

    如前所述 我在 Python 中创建了一个数据集合 40k 行 5 列 我想将其插入 SQL Server 表中 通常 在 SQL 中我会做一个 select into myTable from dataTable 调用来执行插入 但是 p
  • 如何使用修改后的索引来旋转 pandas 数据框?

    我有一个以下形式的时间序列数据框 rng pd date range 1 1 2013 periods 1000 freq 10min ts pd Series np random randn len rng index rng ts ts
  • SQL 解析键值字符串

    我有一个像这样的逗号分隔字符串 key1 value1 key2 value2 key3 value3 key1 value1 1 key2 value2 1 key3 value3 1 我想将它解析成一个如下所示的表 Key1 Key2

随机推荐

  • 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