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中的转置功能[重复]的主要内容,如果未能解决你的问题,请参考以下文章