2017-10-13 22 views
1

このクエリはどのように動作させることができますか?Postgresqlは「スキーマが存在しません」と答えています

prod_id|quan_in_stock|sales 

を今、私はクエリを実行すると::

私は返す関数top_movies_ceiling(3)

CREATE OR REPLACE FUNCTION top_movies_ceiling(n_top integer) -- n_top dos mais vendidos 
RETURNS SETOF inventory AS $$ 
BEGIN 
RETURN QUERY 
SELECT * 
FROM inventory 
ORDER BY sales DESC 
LIMIT n_top; 
END; 
$$LANGUAGE plpgsql; 

にしましたschema "prod_id" does not exist

SELECT products.price 
FROM products 
WHERE products.prod_id = prod_id.top_movies_ceiling(3); 

私はエラーを取得します

私があなたを助けてくれることを願っています! ありがとう!

+0

なぜあなたは 'prod_id.top_movies_ceilin'を使うのですか?.. –

+0

私はCursorをオープンしています。私はそれを保存する目的で、" prod_id "と同じ型から数値変数に取り込んでいます。 –

答えて

2

あなたは何をしようとしていますか?スキーマPROD_IDから関数top_movies_ceiling(int)を:平均

prod_id.top_movies_ceiling(3)

SELECT products.price 
FROM products 
JOIN (select * from top_movies_ceiling(3)) top_m on top_m.prod_id = products.prod_id 
; 
1

誤差はです。

必要な機能を理解するために、top_movies_ceiling()のCREATE FUNCTIONを入力してください。

+0

が完了しました。しかし、私はすでに答えがあります!どうもありがとうございました!! –

関連する問題