【发布时间】:2020-06-03 10:56:00
【问题描述】:
我正在尝试将数据透视列别名为方案 1、方案 2、方案 3,而不是 1、2、3。我遇到了错误。
select *
from (select *
from (select s.campaign_id campaign_id, s.scenario_index scenario_index
from scenario s, campaign c where s.campaign_id = c.campaign_id)
pivot (max(scenario_index)for scenario_index in (1,2,3))
)a
谢谢,现在聚合给出了带有别名的结果。我的要求是将这些列与另一个查询结合起来,即
select CASE WHEN AWARD_TYPE = 0 THEN award_rate||' points'
when AWARD_TYPE = 1 then Award_rate||' %'
when award_type=2 then RATIO_POINTS||' points per '||RATIO_MON_UNIT||' AED' End
from points_rule p
where c.pt_basic_rule_id = p.point_rule_id ) as pool_awards,
此查询以列形式出现,然后方案 1、2,3 应以 3 列形式出现,其中 pool_award 的值基于campaign_id
【问题讨论】:
-
你为什么选择不使用正确的、明确的、标准的、可读的
JOIN语法? -
您有几个选项可以在 pivot 中添加别名,例如here。
-
提供样本数据和期望的结果。