hana - 查询使用中间值

标签 hana

您好,我正在尝试编写一个查询来使用中间输出。

我有一个以 PROD_DATE、PRICE 作为列的表,当我在 HANA 中给出以下查询时,查询将按预期执行。

select round(days_between( MIN(PROD_DATE) , MAX(PROD_DATE))/365) as yea,    
SUM(PRICE) as totalRevenue from AAA;

如果我想使用之前计算的 yeatotalRevenue 列,如下所示:

select round(days_between( MIN(PROD_DATE) , MAX(PROD_DATE))/365) as yea,    
SUM(PRICE) as totalRevenue, totalRevenue/yea as perc from AAA;

它给了我一个错误

ERROR is INVALID COLUMN NAME totalRevenue

最佳答案

正确。您不能在 SELECT 中再次使用在 SELECT 中分配的值。您可以重复表达式或使用子查询:

SELECT t.*, totalRevenue/yea
FROM (select round(days_between( MIN(PROD_DATE) , MAX(PROD_DATE))/365) as yea, 
             SUM(PRICE) as totalRevenue, totalRevenue/yea as perc
      from AAA
     ) t

关于hana - 查询使用中间值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38441428/

相关文章:

sql - 如何在 HANA 中按小时分组

sql - 如何获取每个用户的第一个条目(包括条目 ID)

perl - 解析 Perls "$?"返回代码 : Why is it different from Hana sql error code ? ?

sql - 如何从一个 "table"将多个表连接到同一个自动生成的整数上?

sql - HANA列表/显示表SQL命令

sql - 插入 HANA 表并指定列

c# - SAP HANA Entity Framework

sapui5 - 应用内可扩展性和并行可扩展性之间的区别?

sql - 如何返回 HANA 存储过程中受影响的行数?

python - 表输入参数和标量输出参数