首页 > 解决方案 > 在 impala 中创建 UDF

问题描述

我使用下面的语句执行了许多查询,我认为如果可以在 impala 中创建一个 UDF 来像 sql server 一样处理这个问题,而不是一遍又一遍地编写相同的案例。

(select people, sum(new_money) as new_money from 
(
select people,
case
when pocket_01 = 'leather' then sum(nvl(money,0.0))/100 else 0.0
end +
case
when pocket_02 = 'leather' then sum(nvl(money,0.0))/100 else 0.0
end +
case
when pocket_03 = 'leather' then sum(nvl(money,0.0))/100 else 0.0
end +
case
when pocket_04 = 'leather' then sum(nvl(money,0.0))/100 else 0.0
end +
case
when pocket_05 = 'leather' then sum(nvl(money,0.0))/100 else 0.0
end +
case
when pocket_06 = 'leather' then sum(nvl(money,0.0))/100 else 0.0
end +
case
when pocket_07 = 'leather' then sum(nvl(money,0.0))/100 else 0.0
end ) as new_money from bank where date = '20201010'
) target 
group by people ) as target

这可能吗?

标签: sqlimpalahue

解决方案


推荐阅读