当前位置: 首页 > 面试题库 >

取消透视列名称

佟和平
2023-03-14
问题内容

我有一张StudentMarks有栏的桌子Name, Maths, Science, English。数据就像

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

问题答案:

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

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

参见带有演示的SQL Fiddle



 类似资料:
  • 我有一个表,其中有列。数据就像

  • 问题内容: 我正在尝试取消数据集中的多个列。这是我的数据。 我像这样坚定不移… 但是我真正需要的是如下… 我怎样才能做到这一点? 问题答案: 只是…您需要指定所有列而不是星号。 像这样http://sqlfiddle.com/#!4/12446/21

  • 问题内容: 我试图取消有多个行和列的表。每行需要引出到具有特定列的2行,并且列名需要重命名,并且需要根据所选列添加新列! 我包括示例数据之前和之后以及用于设置数据的脚本。 我已经尝试过了,但是我无法通过第二列,而且我不确定如何添加带有特定文本的新列(可能是动态sql,但如果可能的话,尽量避免这种情况) 这是我尝试的开始,我们将不胜感激。 问题答案: 你只是保持不懈 并加入col列以滤除不匹配项

  • 问题内容: 我将重点放在关键值对上,以便与另一台服务器上的值进行比较以进行一致性测试。我遇到了一个返回错误的问题。 Msg 8167,第16级,状态1,第51行 列“类型”的类型与UNPIVOT列表中指定的其他列的类型冲突。 询问: 为什么这样不喜欢,,??? 我也尝试过 问题答案: 这实际上是整理问题。我可以通过更改以下行来解决: 特定的问题是整理为,而您提到的其他3列则整理为(至少,在我的机器

  • 问题内容: 我需要使用自定义列名来旋转表。请参阅下面的表格格式。 当前格式 : 我想以以下格式显示数据。 所需格式 : 请注意:我不知道连续出现的问题和答案的数量,因此应动态生成列的question1 Answer1。 谢谢 编辑:谢谢您的帮助,我尝试一下您提供给我的动态代码,并得到此错误。 我的桌子是 我打印出SQL,结果如下。 我的原始SQL代码也在下面 等待您的帮助! 问题答案: 您可以通过

  • 我的源数据是一个巨大的扁平CSV,其中包含我想要规范化并存储在多个单独的数据库表中的数据。我想知道是否可以使用JOLT转换来改变CSV数据的结构,我已经有了一个平面JSON对象。 例如,下面的对象有两个“父”行和三个重复的列对,它们是“子”行: 我可以使用JOLT生成输出吗: 我在Jolt游乐场附近玩过,但到目前为止,我还没有找到可以实现这一目标的东西。 欢迎任何提示、提示或建议。 提前感谢。 更