2016-09-02 11 views
-1
SELECT * 
FROM 
(SELECT 
"public".steponesection.datesection, 
"public".steponesection."Trade Price", 
max ("public".steponesection."Trade Volume") OVER (partition by "public".steponesection.datesection) as max_Volm 

FROM "public".steponesection)t 

WHERE "public".steponesection."Trade Volume" = max_Volm 

結果を示しています。私は、各datesectionの最大音量をしたいが、私は実行したときには、このエラーで

[Err] ERROR: missing FROM-clause entry for table "steponesection" 
LINE 10: WHERE "public".steponesection."Trade Volume" = max_Volm 

    ^

答えて

0

エラーメッセージがかなり明確である:where句は、そのレベルの上のようsteponesectionを参照することはできませんがその名前の識別子はありません。派生テーブルはtと呼ばれ、使用する必要があります。

また、内側のクエリで"Trade Volume"を選択していないので、外側のレベルでは利用できません。

SELECT * 
FROM (
    SELECT "public".steponesection.datesection, 
      "public".steponesection."Trade Price", 
      "public".steponesection."Trade Volume", --<< missing 
      max ("public".steponesection."Trade Volume") OVER (partition by "public".steponesection.datesection) as max_volm 
    FROM "public".steponesection 
) t 
WHERE t."Trade Volume" = t.max_volm --<< use the alias of the derived table 

私は強く"Trade Price"のように引用符で囲まれた識別子を避けるためにお勧めします。彼らは長期的にはるかに多くのトラブルがあり、それは価値がある

関連する問題