sql - 多行合并为带有标题名称的单行

标签 sql sql-server database pivot pivot-without-aggregate

我的问题是 this question但我正在从不同的表中获取数据:

Name   ID  Subject-name    obtained-marks
gumman  9   English              3
gumman  9   Islamic-Studies      4
gumman  9   Pak Studies          3 

我想要这样的输出:

ID   Name   English   Islamic-Studies   Pak-studies
9   gumman   3             4                3

我该怎么做?

最佳答案

select ID,
       Name,
       [English],
       [Islamic-Studies],
       [Pak Studies]
from YourTable 
pivot
  (
    min([obtained-marks]) for [Subject-name] in ([English],
                                                 [Islamic-Studies],
                                                 [Pak Studies])
  ) as P

关于sql - 多行合并为带有标题名称的单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10186490/

相关文章:

MySQL 按字母数字顺序对 varchar 进行排序

sql-server - SQL Server 位列约束,1 行 = 1,其他所有 0

sql-server - 我如何知道触发器是否被触发?

mysql - 为什么这个简单的 MySQL 过程需要很长时间才能完成?

mysql - 首先显示与 WHERE IN() 匹配的结果,然后显示其他结果 - MYSQL

SQL Server : select distinct mon-yyyy format output sorty by descending order

sql-server - 重置SQL Server执行计划

mysql - 使用 SELECT 从嵌套的 INSERT 语句中提取数据?

mysql - 具有自定义值的sql唯一约束

java - Android SQLite数据库版本,更改结构现在无法查看DB