SQL Server 在多个列上进行透视

2023-11-24

我正在尝试在多个列上进行旋转。我正在使用 SQL Server 2008。这是我迄今为止尝试过的

CREATE TABLE #t ( id int, Rscd varchar(10),Accd varchar(10),position int)

INSERT INTO #t Values (10,'A','B',1)

INSERT INTO #t Values (10,'C','D',2)

Select id,[1],[2],[11],[12] FROM
(SELECT id, Rscd,Accd, position , position +10 as Aposition 
From #t)
As query
PIVOT (MAX(Rscd )
      FOR Position IN ([1],[2])) AS Pivot1
      PIVOT (MAX(Accd )
      FOR Aposition IN ([11],[12])) AS Pivot2

下面显示的是我得到的结果

id  1     2     11    12
10  NULL  C     NULL  D
10  A     NULL  B     NULL

但我想要达到的结果是,

id  1   2   11   12
10  A   C   B    D

有什么帮助吗?我的代码有什么问题。


我首先将列取消旋转成对,然后旋转它们。基本上,逆透视过程将转换成对的列(rscd, position and accd, aposition) 成行,然后您可以应用枢轴。代码将是:

select id, [1], [2], [11], [12]
from
(
  select id, col, value
  from #t
  cross apply
  (
    select rscd, position union all
    select Accd, position + 10
  ) c (value, col)
) d
pivot
(
  max(value)
  for col in ([1], [2], [11], [12])
) piv;

See SQL 摆弄演示

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

SQL Server 在多个列上进行透视 的相关文章

  • 实体框架死锁问题

    我在使用 NET 4 的新实体框架时遇到了一个奇怪的问题 我有一个 SQL Server 2005 EXPRESS 数据库 我的服务使用实体框架将数据写入两个表 假设表是 TableA 和 TableB TableB 具有 TableA 的
  • 关于数据库变更的通知

    我正在尝试一种场景 其中我想使用任何用户提交的更改来更新在不同 PC 上运行的桌面 UI 例如 Application1 安装在 PC1 PC2 和 PC3 上 假设所有 PC 都运行此应用程序 假设 PC1 上的用户 1 更改数据并提交到
  • 在 apex 中根据 2 种不同类型的用户进行自定义身份验证

    我有一种身份验证方案 目前仅验证用户是否在一个表中 即雇主表中 现在我希望这个身份验证方案来验证用户是雇主还是雇员 并且根据他们是雇主还是雇员 它应该将他们重定向到不同的页面 首先 我如何在身份验证脚本中包含第二个表 我最大的问题是 当员工
  • HQL:从 Eager 表中获取连接集合

    我有四张桌子 RootNode Will return multiple root nodes SubNode Will return one sub node per root node SubNodeChildren1 Will ret
  • T-SQL:检查电子邮件格式

    我有这样的场景 我需要物理数据库中的数据完整性 例如 我有一个变量 email address VARCHAR 200 我想检查一下值是否为 email address是电子邮件格式 有人知道如何检查 T SQL 中的格式吗 非常感谢 我使
  • 如何使 Postgres Copy 忽略大 txt 文件的第一行

    我有一个相当大的 txt 文件 9gb 我想将此 txt 文件加载到 postgres 中 第一行是标题 后面是所有数据 如果我直接 postgres COPY 数据 标头将导致数据类型与我的 postgres 表不匹配的错误 因此我需要以
  • 在函数中调用其他列的控制流程

    我正在尝试在给定条件的情况下连接到函数中的其他列 本质上 我想让数据框在给定条件的情况下从长到宽 其中一列中的这些值是NA相对于同一行中具有值的另一列 转动NAs转化为特定的数字 尽管分配的值必须是特定于列的 因此 如果2010 has N
  • SQL Server - 如何更改仅具有某些特定值的表列?

    TABLE Family BrothersName varchar 30 我已经在 BrothersName 中添加了一些名称 值 但现在我希望它只有 2 个特定名称 Alex and Tom 但稍后它也应该接受其他名称 处理这个问题的最佳
  • SQL Server 2012 中带有“AND”运算符的“LIKE”子句

    我的要求与该线程完全相同 如何在 SQL Server 中使用 JOIN LIKE 和 AND 运算符 https stackoverflow com questions 39745766 how to use join like with
  • 从 SQL Server 的表中“流式”读取超过 1000 万行

    以流方式 如 SQL Server Management Studio 那样 从表 在 SQL Server 2012 中 BI 实例 读取数百万条记录的最佳策略是什么 我需要在本地缓存这些记录 C 控制台应用程序 以进行进一步处理 Upd
  • 如何将子表的删除级联到父表?

    我准备了a fiddle这说明了问题 http sqlfiddle com 15 e25c5 2 CREATE TABLE parent parent id integer primary key CREATE TABLE child ch
  • 如何在条件持续时在Mysql中选择行

    我有这样的事情 Name Value A 10 B 9 C 8 意思是 这些值是按降序排列的 我需要创建一个新表 其中包含占总值 60 的值 所以 这可能是一个伪代码 set Total sum value set counter 0 fo
  • 复制具有不同列名的 MySQL 表

    我需要将 table1 中与特定列匹配的所有行复制到具有不同列名称的 table2 中 例如 table1 name oldAddressBook table1 的列 name Name Surname Number table2 name
  • 管理员无法管理 SQL Server 报告服务

    我正在 SQL Server 2008 Standard 上运行 SQL Server Reporting Services 并尝试使网页正常工作 我需要做什么才能获得 RS 报表管理器 报表服务连接 首先将我视为管理员 以便我可以更改我的
  • 如何将可变数量的参数传递给 SQL Server 存储过程?

    我将 SQL Server 2005 用于我的小型 Web 应用程序 我想将参数传递给 SP 但有一个条件 可以不时更改的参数数量 想一想 这次我传递姓名和地址 下次我传递姓名 地址 该参数范围可以是 1 30 您使用默认参数声明该过程 并
  • 我需要进行哪些更改才能让我的表在 AppEngine 的 BigTable 上运行?

    假设我有一个预订数据库 其中包括users user id fname lname 和他们的tickets ticket id user id flight no 以及相关的flights flight no airline departu
  • 表中主键的最佳实践是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在设计表时 我养成了一种习惯 即有一列是唯一的 并且我将其作为主键 根据要求 可以通过三种方式实现 自动递增的标识整数列 唯一标识符 GUID
  • 与派生表的内连接

    我对连接派生表的基本语法有疑问 这是使用的基本语法吗 select from table1 a inner join select from table2 as T1 on 1 ID T1 ID 那行得通吗 您是在问加入两个子查询吗 尝试
  • 将 .sql 文件导入 SQLite

    我正在尝试将大型 sql 文件导入 SQLite db 文件 但出现以下错误 sqlite gt read smsCorpus en 2012 04 30 sql Error near line 23 near COMMENT syntax
  • 为什么这个触发器会失败?它说无效标识符

    CREATE MATERIALIZED VIEW ORDERS MV BUILD IMMEDIATE REFRESH COMPLETE ON DEMAND AS SELECT FROM ORDERS CREATE OR REPLACE TR

随机推荐

  • 我可以在没有本地副本的情况下在远程存储库上发出 git rev-parse 吗?

    我的本地 git 存储库位于加密卷内 我希望能够跑步git pull all仅当远程有新提交时 但是 我无法使用像这样的接收后钩子here因为我没有加密卷的密码 这意味着即使钩子被触发 我仍然不知道安装卷和提取新更改的密码 所以我正在寻找其
  • 精度损失 - int -> float 或 double

    我有一道考试题正在复习 题目为 4 分 在java中 我们可以将int分配给double或float 这会丢失信息吗 为什么 我这样说是因为整数通常具有固定的长度或大小 存储数据的精度是有限的 而以浮点存储信息可以是无限的 本质上我们会因此
  • 如何为 Symfony2 中的所有控制器添加一些路由前缀?

    我使用注释来定义控制器中的路由 并且我有 15 个控制器 全部由执行 path1 path2 有什么方法可以在所有这些控制器中通过以下方式访问它们 admin path1 and admin path2 我不想通过更改每个文件来输入它 我可
  • 与数据表进行数据绑定后,GridView Column.Count 始终为 0

    我正在尝试有条件地显示 隐藏 GridView 列 我正在创建一个动态 DataTable 然后将其绑定到 GridView 后来 在回发时 我正在检查条件并想要显示 隐藏 GridView 的几列 但 Column Count 始终为 0
  • 如何使用 PyQt5 在同一窗口中更改 UI?

    我刚刚开始使用 PyQt5 我一直在尝试完成一项看似非常简单的任务 但无法获得足够的信息 经过一番谷歌搜索后 我已经能够关闭一个窗口 并在加载另一个 UI 的情况下启动另一个窗口 但这不是我想要在这里做的 我想在同一个窗口中切换用户界面 我
  • 如何使用 Swing 创建可扩展面板?

    我想创建一个展开和折叠面板的列表 如下图所示 我还没有找到任何与此相关的 Swing 组件 所以我开始创建类似的东西 我尝试将按钮一个放在另一个下面 以填充可用宽度 但实际上不起作用 我只能看到最后添加的一个 JPanel panel ne
  • Xcode Instruments 8.3 显示设置按钮丢失

    在最新版本的 Instruments 8 3 中 显示设置按钮已被删除 并由文件 gt 记录设置对话框取代 使用分配工具时 我现在无法再激活自动快照 因为该选项已从右侧面板中消失 并且记录选项对话框仅显示分配工具的值 而不显示虚拟机跟踪器的
  • 如果数学移至内联函数,为什么 C++ 舍入行为(对于编译时常量)会发生变化?

    考虑以下函数 static inline float Eps const float x const float eps std numeric limits
  • 如何关闭 Eclipse 上的项目方面?

    我试图解决 Eclipse 中的问题 所以我单击了 Propreties gt Project Facets gt Click on the link 现在我有了新的看法Project Facets还有很多错误 我不知道如何返回上一步并取消
  • 核心数据,一对多子对象排序

    所以 假设我有一个父母孩子的商店 父母与孩子有一对多的关系 parent children 并且他们都有名字 现在 在初始获取父母时 我可以指定一个排序描述符以按名字顺序返回它们 但是如何按顺序请求孩子呢 如果我执行 parent chil
  • 如何让TextBox失去焦点?

    怎么做TextBox当用户触摸时失去焦点并隐藏屏幕键盘Enter虚拟钥匙 private void TheName KeyDown object sender KeyRoutedEventArgs e var tb sender as Te
  • Android:连接并打印到 Bixolon SPP-R200

    我想打印到Bixolon SPP R200据我所知 它是更容易使用 Android 设置的移动蓝牙打印机之一 但是我不知道如何开始 我想首先我必须通过蓝牙连接到打印机 我假设为此目的我求助于本机 Android 蓝牙 API 我可能需要某种
  • Rails 3.1:accepts_nested_attributes_for 和 has_one 关联 - 不起作用?

    我试图在 has one 关联模型上使用 Accepts nested attributes for 但绝对无处可去 我有两个模型 一个用户和一个位置 一位用户有一个位置 class User lt ActiveRecord Base cu
  • 登录管理页面后,Django 服务器立即停止

    单击登录按钮后立即尝试登录 django 管理页面 django 服务器停止 Django 新手尝试使用 venv 在虚拟环境中创建项目 这些是我所做的以下步骤 1 创建一个名为api的文件夹 2 使用创建虚拟环境python m venv
  • 使用 Linq to Entities 在一项操作中获取 COUNT 和 SKIP TAKE

    我在 Linq to Entities 支持的数据访问层中有一个数据调用 该数据访问层旨在进行分页调用 在此过程中 我需要选择数据的子集 例如 50 行 但还要获取所有匹配项的计数 以了解需要分页的总匹配项数 目前 我正在执行以下操作 va
  • “+”、“*”、“!”是什么意思?分支名称旁边的符号在 VS Code 中表示吗?

    在 VS Code 中有一个 在我的分行名称旁边签名 这意味着什么 检查源代码揭示 表示您有未暂存的更改 尚未添加 表示您已分阶段进行更改 已添加 但未提交 表示未合并的冲突 还可以有Rebasing 在最后 当你处于变基过程中时 所以 如
  • LINQ: ...Where(x => x.Contains(以“foo”开头的字符串))

    给定以下类的集合 public class Post public IList
  • 使用 python 导入我的数据库连接

    是否可以使用我的数据库凭据创建一个 py 文件来连接到 MySQL 数据库 Ex con ip 0 0 0 0 username root password pswd database test 然后在另一个文件上使用这个文件 like i
  • condition_variable.notify_all 是否应该被互斥锁覆盖?

    我已经实现了一个类 它允许我将线程与条件变量同步 我发现关于 notify all 应该在锁内还是在锁外完成的冲突信息 我发现了两种方式构建的例子 首先释放锁的理由是为了防止等待线程在被通知释放后立即阻塞在互斥锁上 反对首先释放锁的论点是等
  • SQL Server 在多个列上进行透视

    我正在尝试在多个列上进行旋转 我正在使用 SQL Server 2008 这是我迄今为止尝试过的 CREATE TABLE t id int Rscd varchar 10 Accd varchar 10 position int INSE