Postgresql说“架构不存在”

时间:2017-10-13 09:01:52

标签: sql database postgresql plpgsql

如何使此查询有效?

我有函数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; 

返回:

prod_id|quan_in_stock|sales

现在,当我运行查询时:

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

我收到错误:schema "prod_id" does not exist

我希望你能帮助我! 谢谢!

2 个答案:

答案 0 :(得分:2)

一个疯狂的猜测 - 你试图做什么?

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

答案 1 :(得分:1)

错误在:

  

prod_id.top_movies_ceiling(3)

表示:来自架构prod_id的函数top_movies_ceiling(int)。

请输入top_movies_ceiling()的CREATE FUNCTION以更好地了解您的需求。