gpt4 book ai didi

sql - 使用列名称取消透视

转载 作者:行者123 更新时间:2023-12-01 16:47:42 25 4
gpt4 key购买 nike

我有一个表StudentMarks,其中包含姓名、数学、科学、英语列。数据就像

Name,  Maths, Science, English  
Tilak, 90, 40, 60
Raj, 30, 20, 10

我想将其安排如下:

Name,  Subject,  Marks
Tilak, Maths, 90
Tilak, Science, 40
Tilak, English, 60

unpivot我能够正确获取 Name、Marks,但无法将源表中的列名称获取到所需结果集中的 Subject 列。

我怎样才能实现这个目标?

到目前为止,我已经达到以下查询(获取姓名、标记)

select Name, Marks from studentmarks
Unpivot
(
Marks for details in (Maths, Science, English)

) as UnPvt

最佳答案

您的查询非常接近。您应该能够使用以下内容,其中在最终选择列表中包含主题:

select u.name, u.subject, u.marks
from student s
unpivot
(
marks
for subject in (Maths, Science, English)
) u;

参见SQL Fiddle with demo

关于sql - 使用列名称取消透视,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19055902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com