需要转换此内容:
DATE VALUE
18-DEC-15 2877544
17-DEC-15 2974276
16-DEC-15 4862020
到
18-DEC-15 17-DEC-15 16-DEC-15
2877544 2974276 4862020
日期每天更新,我只需要选择最新的3个日期,然后将它们转换为具有以下相应值的列。 我尝试使用Pivots,但我能够动态创建列标题。
答案 0 :(得分:0)
使用Conditional Aggregate
来转动数据
select MAX(case when "DATE" = '18-DEC-15' then VALUE END) as '18-DEC-15',
MAX(case when "DATE" = '17-DEC-15' then VALUE END) as '17-DEC-15',
MAX(case when "DATE" = '16-DEC-15' then VALUE END) as '16-DEC-15'
from yourtable
注意:由于日期未知,您需要使用EXECUTE IMMEDIATE
答案 1 :(得分:0)
试试这个
WITH pivot_data AS (
select date, value from table)
SELECT *
FROM pivot_data
PIVOT (
max(value) --<-- pivot_clause
FOR table --<-- pivot_for_clause
);