将不同的行值作为列 Sql Server

2024-03-28

我有一个包含 3 列的临时表,如下所示,

    JobID JobType        JobValue
    12    HR              Jesica
    23    MANAGER         Ravi
    5     MANAGER         Jacob
    60    EMPLOYEE      Kiruan
    45    MANAGER         Abidam
    27    HR              Kamsura
    21    MANAGER         Chio Bin
    87    EMPLOYEE      Gamanya
    22    HR              Pradeep
    56    HR              Hari
    67    EMPLOYEE      Om
    14    MANAGER         Kiran




My result table should be like 


    JobID  HR   MANAGER  EMPLOYEE   
    12      
    23      
    5       
    60          
    45      
    27          
    21      
    87          
    22          
    56      
    67          
    14      

Jobvalue 列值应进入结果集中。

我已经尝试过如下。

创建了一个包含 distict Jobtype 行值的临时表。 然后使用 while 循环将 JobValue 列值插入该表中。

但它看起来非常肮脏的过程。

任何人都可以给我一个好的建议来完成这项工作。

Thanks,


您应该能够使用PIVOT http://msdn.microsoft.com/en-us/library/ms177410%28v=sql.105%29.aspx函数得到结果:

select jobid, hr, manager, employee
from yourtable
pivot
(
  max(jobvalue)
  for jobtype in (hr, manager, employee)
) piv;

See SQL 摆弄演示 http://sqlfiddle.com/#!3/4cb06/1.

如果您想列出jobvalue在每个下jobType如果不显示 jobid,那么您可以使用:

select hr, manager, employee
from
(
  select jobtype, jobvalue,
    row_number() over(partition by jobtype order by jobid) rn
  from yourtable
) d
pivot
(
  max(jobvalue)
  for jobtype in (hr, manager, employee)
) piv;

See SQL 摆弄演示 http://sqlfiddle.com/#!3/4cb06/4

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

将不同的行值作为列 Sql Server 的相关文章

  • t-sql递归查询

    基于现有表 我使用 CTE 递归查询得出以下数据 但未能进一步应用它 数据如下 id name parentid 1 project 0 2 structure 1 3 path 1 2 4 path 2 2 5 path 3 2 6 pa
  • 是否可以从 SQL 查询执行文本文件?

    我有许多生成的 sql 文件 我想连续运行 我想从查询中的 SQL 语句 即查询分析器 Server Management Studio 运行它们 是否可以做这样的事情 如果可以的话 这样做的语法是什么 我希望有这样的事情 exec c t
  • SQL死锁问题

    在关系数据库中这两条语句有可能死锁吗 我试图简化我的问题和示例 请假设这些选择 我认为通常只需要可共享读锁定 现在需要独占读锁 Concurrent Connection 1 SELECT FROM A JOIN B ON Concurre
  • 对树数据进行分组、聚合和求和的最佳方法是什么?

    给定一个自引用表 Item Id pk ParentId fk 具有关联值的相关表 ItemValue ItemId fk Amount 和一些样本数据 Item ItemValues Id ParentId ItemId Amount 1
  • 如何在 SQL Server 中查找运行跟踪?

    有没有一种简单的方法来确定已设置的痕迹sp trace create在 SQL Server 2000 上 SQL Server 2005 2008 2012 或 2014 怎么样 SQL Server 2005 向前 SELECT FRO
  • 带有聚合函数的 SQL GROUP BY CASE 语句

    我有一个看起来像这样的专栏 CASE WHEN col1 gt col2 THEN SUM col3 col4 ELSE 0 END AS some product 我想将它放在我的 GROUP BY 子句中 但这似乎会导致问题 因为列中有
  • 我需要 T-SQL 中的国家/地区列表

    我有一个国家 地区表 其中包含国家 地区名称列 我需要 DDL 中现成的列表来填充 CountryName 列 该表驻留在 SQL Server 2008 中 你可以尝试这个脚本 CREATE TABLE tbl Countries Cou
  • TSQL 将结果集均分并更新

    我的数据库有 3 个表 如下所示 Orders 表的数据如下 OrderID OperatorID GroupID OrderDesc Status Cash 1 1 1 small order 1 100 2 1 1 another or
  • CLR 存储过程:如何设置架构/所有者?

    我正在开发一个基于 Linq 的 CLR 存储过程 用于一些复杂的过滤和操作 否则如果在更 传统 的存储过程中实现 则需要大量混乱且性能较差的 T SQL 代码 这工作得很好 但我找不到如何在部署阶段设置此存储过程的架构 以便更好地组织和分
  • 如何向 dateadd sql 添加小时、分钟、秒?

    我想要一个完整的约会 所以今天是 7 7 2010 12 00 00 am 到 7 7 2010 11 59 59 pm 所以这应该是完整的 24 小时 因为上午 12 00 00 就是 8 号 所以我有这个 select DATEADD
  • 如何在SqlCE中使用存储过程

    我刚刚安装了SQL Server 精简版 令我惊讶的是 我们不能在 sql server CE 中使用存储过程 我有 Sql Server CE 中存储过程的替代方案吗 我对存储过程非常着迷 我无法想象没有存储过程的应用程序 请帮忙 提前致
  • 获取同一 FK 日期差异的前一条记录

    我需要在一小时内插入同一客户的前 1 条记录 如果记录在一小时后插入 则不需要该记录 请参见下表 这只是数千条记录的样本 我正在使用 SQL Server 2005 替代文本 http img651 imageshack us img651
  • 我可以像处理表一样处理存储过程的结果吗?

    在sql server 2005中可以做这样的事情吗 WITH tmpTable AS EXEC spWhatever 或者我可以通过其他方式查询从 sp 返回的数据 谢谢 临时表 CREATE TABLE foo col1 int col
  • 扩展会员提供者

    设想 构建一个供公司输入信息的应用程序 我需要扩展 ASP NET 中的内置成员资格提供程序 我的独特情况是 我已经拥有每家公司的人口统计信息 但没有网络应用程序的用户 ID 和密码 我想用人口统计信息预先填充数据库 向每个公司发送一个唯一
  • SQL Server 的国家/地区、州列表 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 您好 在一个应用程序中 我需要列出世界上的所有国家 我们选择一个国家 则应列出与其对应的所有州 如果我选
  • 带有输出文件和屏幕输出的 sqlcmd

    我使用 sqlcmd 执行一些命令行批处理 bat 如下所示 sqlcmd i Scripts STEP01 sql o PROCESS log S MYSERVER E d MYDATABASE 我需要一个输出文件 当前有效 以及通过屏幕
  • ASP .Net 报表查看器控件中的本地报表与服务器报表

    在我们当前工作的 ASP Net 站点之一中 我们有大量 SSRS 报告 我们对该站点进行了表单身份验证 并且已在报表服务器中创建并部署了报表 当我们设置报表查看器控件来访问服务器报表时 我们遇到了很多身份验证问题 我只是想知道使用本地报告
  • 我如何以编程方式从数据库表生成“插入”数据脚本文件?

    有没有一个优雅的基于面向对象的框架 这是我编写的一些代码 用于为数据库中的每个表生成 插入 存储过程 它还处理返回那些具有标识列的表的新 ID 它使用 SQL SMO 其中一些内容与我的项目有些特定 因此如果您有任何疑问 请告诉我 void
  • 带附件的数据库电子邮件(excel 文件/pdf 文件)?

    我必须从数据库向我的邮件 ID 发送一封带有附件的邮件 EXEC msdb dbo sp send dbmail profile name Adventure Works Administrator recipients email pro
  • 如何在 SQL Server Management Studio 中查看 SSIS 包?

    啊 我通过导入向导创建了 SSIS 包 但使用 Management Studio 在服务器上找不到 SSIS 包 当我进入作业调度程序时 执行 SSIS 包也没有显示为选项 当您启动 SSMS 时 它允许您选择服务器类型和服务器名称 在服

随机推荐

  • Flask:蓝图中的模板继承自应用程序中的模板?

    我是 Flask Jinja2 的新手 所以也许我忽略了一些明显的事情 但是 Flask 不应该开箱即用地允许蓝图中存在的模板吗 templates 文件夹来扩展由我的应用程序定义的基本模板templates 文件夹 即使蓝图还包含一个 默
  • 如何编写查询以确保电子邮件包含@

    我正在 db2 中创建一个数据库 我想添加一个约束来验证用户是否插入包含 的有效电子邮件地址 没有运气 有什么建议吗 您可以将 LIKE 与通配符一起使用 看here http publib boulder ibm com infocent
  • ASP.NET MVC3 TryValidateModel 验证整个模型集合,而不仅仅是单个实例

    我有一个需要模型列表的操作 我想同时验证每个模型与整个模型集合 我正在尝试使用 TryValidateModel 但似乎如果我的任何一个模型无效 那么所有模型都无效 我的表单显示 5 个 SurveyResponseModel 一个包含两个
  • 本机 KDE 查找 Qt 5 应用程序

    我在 Kubuntu 12 10 Linux 机器上安装了 Qt5 和 Qt4 并注意到以下内容 使用 Qt4 编译的程序具有原生 KDE 外观和感觉 我使用默认的 KDEOxygen主题 我的程序也是如此 注意带有标题的平滑渐变和聚焦小部
  • C#:有什么方法可以发现文件使用的字符集编码吗?

    有什么方法可以发现文件使用的字符集编码吗 可靠地做到这一点的唯一方法是寻找字节顺序标记 http en wikipedia org wiki Byte order mark在文本文件的开头 此 blob 更一般地表示所使用的字符编码的字节顺
  • 实现3d索贝尔算子

    我目前正在研究从包含体素的 MRI 数据量中去除不均匀性 我想在这些体积上应用索贝尔运算符来找到梯度 我熟悉二维索贝尔掩模和二维图像的邻域 索贝尔面具 1 2 1 0 0 0 1 2 1 1 0 1 2 0 2 1 0 1 x y 的邻域
  • Websocket 标头丢失

    我正在 Rails 3 2 13 中使用 faye gem 在开发过程中 我在 localhost 9292 上运行 faye 在 localhost 3000 上运行我的应用程序 我可以使用命令行中的curl 请求激活弹出窗口 但无法从应
  • 未找到 React 应用程序的 GitHub Pages 页面

    我正在尝试将我的单页网站发布到 github 页面 但遇到了问题 当我转到网站链接时 出现 404 错误并显示以下消息 找不到文件 此地址配置的站点不包含请求的文件 如果这是您的站点 请确保文件名大小写正确匹配 URL 对于根 URL 例如
  • 如何显示wordpress中的所有类别?

    我使用了这段代码 categories wp get post categories get the ID foreach categories as category echo div class col md 4 a href get
  • python topN 最大堆,使用 heapq 还是自己实现?

    python中有heapq 用于一般用途 我想记录topN 0 20 10e7 条记录 如果使用heapq 应该使用 将最大值转换为最小值 并记录底部的最小数量 以调用 heapq heappushpop 我应该使用 heapq 还是自行实
  • Recyclerview:监听padding点击事件

    我有一个水平的RecyclerView with leftPadding 48dp topPadding 24dp and clipToPadding false 它从左侧的空白空间开始 但是当用户滚动列表时 其项目将绘制在该 以前是空的
  • 在iOS AVPlayer中,addPeriodicTimeObserverForInterval似乎丢失了

    我正在尝试设置AVPlayer addPeriodicTimeObserverForInterval 有人用过这个成功吗 我正在使用 Xcode 8 1 Swift 3 接受的答案让人感觉您可以将返回值分配给局部变量并忽略它 但根据doc
  • getPass() 在 Eclipse 中回显密码

    嘿 大家刚刚开始涉足一点 Python 以帮助处理工作中的一些脚本 但我似乎被一个小问题所困扰 我使用 Eclipse 和 pydev 作为我的开发平台 并针对 python 2 7 3 进行开发 我只是想提示用户输入密码 使用 passw
  • MKMapView 显示错误保存的区域

    当我的 iPhone 应用程序关闭时 我将地图区域保存到用户默认值中 如下所示 MKCoordinateRegion region mapView region NSUserDefaults standardUserDefaults set
  • 一个 INSERT 多个 SELECT

    我已经读过this https stackoverflow com questions 20426967 adding two select statements into one insert into statement in post
  • 如何对齐标签和输入字段

    我希望我的输入字段 标题 直接呈现在单选按钮下方 但现在它离左侧太远了 我需要额外的div因为它是动态表单 但我想要网格视图 我怎样才能做到这一点
  • 通用设计与奇怪的重复模板模式混合在一起。 C++

    考虑这样的问题 我有一个Base类和三个派生类Base 例如 DerivedA DerivedB and DerivedC 每个派生类都有其独特的容器 因此DerivedA has std vector
  • 如何使用java获取由aws中的文件组成的文件夹大小

    假设我们有一个名为 bucket1 的桶 里面有一个 名为 新文件夹 的文件夹 新文件夹 内是文件新文件夹 a1 pdf gt 2mb新文件夹 a2 pdf gt 2mb新文件夹 新文件夹2 b pdf gt 3mb 当我们使用 amazo
  • androidx 中已弃用 OnActivityResult()

    OnActivityResult 在 androidx 中已弃用 我从下面的链接中参考了 https developer android com training basics intents result https developer
  • 将不同的行值作为列 Sql Server

    我有一个包含 3 列的临时表 如下所示 JobID JobType JobValue 12 HR Jesica 23 MANAGER Ravi 5 MANAGER Jacob 60 EMPLOYEE Kiruan 45 MANAGER Ab