如何基于配置单元中的其他列代码计算列

fkaflof6  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(361)


我们有一个销售表,有不同的销售金额和销售代码。我想根据不同的代码计算销售总额。
公式为总销售额=代码1-代码2+代码3-代码4。
如何通过配置单元查询获得结果?

zz2j4svz

zz2j4svz1#

这可以通过条件聚合来完成(假设每个代码的每个id有一行)。

select id 
      ,coalesce(max(case when code = 'code1' then cast(amount as int) end), 0) -
       coalesce(max(case when code = 'code2' then cast(amount as int) end), 0) +
       coalesce(max(case when code = 'code3' then cast(amount as int) end), 0) -
       coalesce(max(case when code = 'code4' then cast(amount as int) end), 0) 
from tbl
group by id

相关问题