Postgresql说“架构不存在”

问题描述 投票:1回答:2

如何使此查询有效?

我有功能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

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

sql database postgresql plpgsql
2个回答
2
投票

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

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

1
投票

错误在于:

prod_id.top_movies_ceiling(3)

这意味着:来自模式prod_id的函数top_movies_ceiling(int)。

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

© www.soinside.com 2019 - 2024. All rights reserved.