2016-07-18 7 views
0

こんにちは、intermidiate o/pを使用するクエリを作成しようとしています。中間の値を使用するクエリ

私はPROD_DATE、PRICEの列を持つテーブルを持っています。私はhanaで以下のクエリを実行すると、クエリが期待通りに実行されます。私は以前に計算いや& totalRevenueを使用したい場合は

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

それは私にエラーを与えます。私は以下のように私の質問を書いた。

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

ERRORは、無効な列名のtotalRevenue

答えて

0

正しいです。 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 
関連する問題