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

SQL:“凌乱”转置表

程天佑
2023-03-14
问题内容

下表显示了很多有关移调的问题…

scanid | region | volume
-------------------------
1          A      34.4
1          B      32.1
1          C      29.1
2          A      32.4
2          B      33.2
2          C      35.6

到这张桌子。

scanid | A_volume | B_volume | C_volume
----------------------------------------
1        34.4         32.1      29.1
2        32.4         33.2      35.6

但是,我需要做相反的事情,并且难以解决这个问题。有人可以帮忙吗?

谢谢你。


问题答案:

您可以使用UNION子句非常简单地执行此操作:

Select Scan_ID, 'A' as Region, A_Volume as volume
    union all
Select Scan_ID, 'B' as Region, B_Volume as volume
    union all
Select Scan_ID, 'C' as Region, C_Volume as volume


 类似资料:
  • 问题内容: 我需要在MS SQL中进行以下转置 从: 要以下内容: 我了解只有一列(A)时该如何处理,但无法弄清有多列要转置(A,B,…)时该如何做。 要转置的示例代码: 表结构: 任何帮助都感激不尽。 问题答案: 为了将数据转置为所需的结果,您将需要同时使用和函数。 该函数采用和列,并将结果转换为行。然后,您将使用该函数将值转换为列: 请参阅带有演示的SQL Fiddle。 如果使用的是SQL

  • 问题内容: 在我开始之前,我知道关于Stackoverflow的问题很多,但是我找不到与我的案子相关的任何问题,因为它们涉及的问题比我需要的复杂得多。 我想要的是一个简单的哑转置,不涉及逻辑。 这是我的选择查询返回的原始表: 通常,这将仅包含1条记录,即一个人的记录 现在我想要的是 因此,无需像Stackoverflow上的大多数类似问题那样进行计数,求和或任何复杂的逻辑。 我该怎么做?我通读了P

  • 问题内容: 我有类似下表的内容: 我需要一个查询,它会给我这样的结果: 请注意,FieldName中的值不限于用户名,密码和电子邮件地址。它们可以是用户定义的任何东西。 有没有办法在SQL中做到这一点? 问题答案: MySQL不支持ANSI PIVOT / UNPIVOT语法,因此您可以使用: 如您所见,需要按值定义CASE语句。要使其动态化,您需要使用MySQL的Prepared Stateme

  • 问题内容: 我有一个表,其中包含几列,包括一个键值对。想象一下: 我需要将其转换为以下格式: 即换位单元格-我将如何在SQL中做到这一点? 问题答案: 像这样吗? http://technet.microsoft.com/zh- cn/library/ms177410(SQL.105).aspx

  • 凌鲨(linksaas)是帮助软件研发团队系统性地持续提升研发效能的工具,它连接了研发所有的多种工具以及所有研发场景的信息,记录了研发相关的行为记录,提供了行为分析的API。   凌鲨(linksaas)以项目为基础单元来组织工具和信息,提供了沟通,知识库,项目管理,研发行为分析,团队评估等多种功能。软件研发团队在只使用凌鲨(linksaas)就可以完成大部分的项目管理,知识沉淀和沟通工作。凌鲨(

  • 我正在使用MPAndroid图表工具包进行数据可视化。在MPAndroid中绘制图表很流畅,但当我尝试绘制双y轴(左和右)时,问题出现了。当右轴出现时,数据点完全分布在x轴上。所有数据点出现在图表的左边。如何传播数据点?