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

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

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

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

问候, 拉格万

【问题讨论】:

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

标签: sql oracle join pivot-table


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-29
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-12
    • 2018-11-26
    • 1970-01-01
    相关资源
    最近更新 更多