在SQL Server中将行数据转换为列数据

在SQL Server中将行数据转换为列数据,sql,sql-server,Sql,Sql Server,我有两张桌子。分数和科目 标记表 主题表 我编写了以下SQL查询: 我希望输出如下所示: 这是psuedo sql,因为OP已经发布了图像,我不打算为它编写DDL。无论如何,这应该足以让您开始(然而,这是未经测试的) 不过,我很乐意将其更改为适用于您的环境的东西,如果您摆脱了图像和post DDL和INSERT语句。因此不是免费服务的软件。首先做一些自己的尝试,如果运气不好,把你尝试过的东西贴出来,这样人们可以评论,希望能帮助你。我已经尝试过了。。我试图实现透视表,但也存在同样的问题。所以

我有两张桌子。分数和科目

标记表

主题表

我编写了以下SQL查询:

我希望输出如下所示:


这是psuedo sql,因为OP已经发布了图像,我不打算为它编写DDL。无论如何,这应该足以让您开始(然而,这是未经测试的)


不过,我很乐意将其更改为适用于您的环境的东西,如果您摆脱了图像和post DDL和
INSERT
语句。

因此不是免费服务的软件。首先做一些自己的尝试,如果运气不好,把你尝试过的东西贴出来,这样人们可以评论,希望能帮助你。我已经尝试过了。。我试图实现透视表,但也存在同样的问题。所以,这就是为什么我在这里张贴请不要附加图片(仅)。将(相关)表格的结构提供为
CREATE TABLE
,将样本数据提供为
INSERT-in
语句。还将查询和所需的输出作为文本包含。。请先阅读并遵循社区网络礼仪posting@ArnavThakur,请发布您编写的查询和结果。你说“有相同的问题”,但我不明白你在哪里描述了你遇到的“问题”。
SELECT Title,
       MAX(CASE WHEN ExamType = 1 THEN Mark ELSE 0 END) AS Mark1
       MAX(CASE WHEN ExamType = 2 THEN Mark ELSE 0 END) AS Mark2
FROM YourTable
GROUP BY Title;