Oracle中的转置功能[重复]

Posted

技术标签:

【中文标题】Oracle中的转置功能[重复]【英文标题】:Transpose functionality in Oracle [duplicate] 【发布时间】:2021-01-15 08:48:57 【问题描述】:

我需要 SQL 查询方面的帮助来实现以下转置功能,我有一个条目表,例如,

尝试使用 Pivotand Decode 命令,但它只给出一个特定类型的 id。

我可以使用任何其他命令来实现此输出吗?提前致谢

问候, 拉格万

【问题讨论】:

这是一个键/值表。与他们一起工作很麻烦。聚合,如大力水手的回答所示,是处理它们的典型方法。但是数据访问通常相当慢,并且数据容易出现不一致、拼写错误、错误的数据类型、缺少属性。如果数据模型可以改变,我会考虑改变它。 【参考方案1】:

最简单的方法是使用条件聚合如下:

select property_id,
       max(case when id = 'ADDR1' then text end) as ADDR1,
       max(case when id = 'ADDR2' then text end) as ADDR2,
       max(case when id = 'CITY' then text end) as CITY,
       max(case when id = 'FAX' then text end) as FAX,
       max(case when id = 'LONGNM' then text end) as LONGNM,
       max(case when id = 'NAME' then text end) as NAME
  from your_table
 group by property_id

【讨论】:

以上是关于Oracle中的转置功能[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Notepad++ 中的转置函数

PostgreSQL中的转置表

SPSS中的转置

Hive 中的转置数组

numpy中的转置Transpose和.T以及轴对换swapaxis

CAR值计算中的转置问题