PL/SQL Case with Group By and Pivot



我有我在 APEX 交互式报告中呈现的数据,使用透视语句显示 15 年的月度数据。 我正在使用 case 语句根据它是否包含小数对一些值进行颜色编码。

我的问题是通过使用 case 语句,它正在从一行数据创建多行。 我的报表为每个项目显示 2 行,一行用于包含不带小数的值的行,一行包含包含小数的值。

多行

如何将行合并为一行? 使用分组依据?还是有更好的方法?

select buscat, prod_parent, year_month, volume, load_source, tstamp,
   case when instr(VOLUME, '.') > 0 then 'color:#FF7755;' else 'color:#000000;' end flag
 from HISTORY where id > 0

这是来自 SQL 查询的原始数据...

SQL返回

根据 SQL 返回图像,数据不重复。看起来您没有过滤"音量 == 0"。尝试在 where 子句中将"ID"更改为"音量":

select yearMonth, volume, load_source, tstamp,
    case when instr(volume, '.') > 0 then 'color:#FF7755;' else 'color:#000000;' end flag
from HISTORY 
where volume > 0

最新更新