【问题标题】:I'd like to convert my data from rows to columns in PL/SQL. So, can anyone assist me with this?我想将我的数据从行转换为 PL/SQL 中的列。那么,有人可以帮助我吗?
【发布时间】:2022-12-03 03:33:39
【问题描述】:

我的输入数据是:

Vechical_NUM  Vehical_name Period Year cost
1111          Car          Aug     2022 $5000
1111          Car          Sep     2022 $5100
1111          Car          Oct     2022 $5300
1111          Car          Nov     2022 $5000
1111          Car          Dec     2022 $5000
1111          Car          Jan     2023 $5000
1111          Car          Feb     2023 $5000
:              :            :       :    :
:              :            :       :    :
1111          Car          Aug     2023 $10000
1111          Car          sep     2023 $10000
1111          Car          Oct     2023 $10000

1111          Car          Nov     2023 $10000

1111          Car          Dec     2023 $10000
2222          Truck        Aug     2022 $10000
2222          Truck        Sep     2022 $10000
2222          Truck        Oct     2022 $10000
2222          Truck        Nov     2022 $10000

2222          Truck        Dec     2022 $10000

2222          Truck        Jan     2023 $10000
2222          Truck        Feb     2023 $10000
2222          Truck        Mar     2023 $10000
:              :            :      :     :
2222          Truck        Dec     2023 $5000

预期产出

Vechical_NUM  Vehical_name  Aug_2022 Sep_2022 Oct_2022 ....... Dec-2023 
1111           Car           $5000    $5100  $5300    .......  $5000
2222           Truck         $10000   $10000 $10000    -----   $10000

【问题讨论】:

标签: sql oracle


【解决方案1】:

使用PIVOT

SELECT *
FROM   table_name
PIVOT (
  SUM(cost) FOR (period, year) IN (
    ('Aug', 2022) AS aug_2022,
    ('Sep', 2022) AS sep_2022,
    ('Oct', 2022) AS oct_2022,
    ('Nov', 2022) AS nov_2022,
    ('Dec', 2022) AS dec_2022,
    ('Jan', 2023) AS jan_2023,
    ('Feb', 2023) AS feb_2023,
    -- ...
    ('Dec', 2023) AS dec_2023
  )
)

【讨论】:

    猜你喜欢
    • 2012-05-16
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-20
    • 1970-01-01
    • 2018-05-16
    相关资源
    最近更新 更多