私はすべてのトップセールスの合計を返す関数を作成しようとしていますが、このエラーが発生しています。関数から結果セットを返すことはできません
DELIMITER ++
CREATE FUNCTION CostOfBestBuyers(number INT) RETURNS INT
BEGIN
SELECT SUM(Tprice)
FROM (SELECT SUM(T.Quantity * S.ProductPrice) AS Tprice
FROM Transaction T JOIN Stocks S ON T.ProductCode = S.ProductCode
GROUP BY UserCode ORDER BY 1 DESC LIMIT number) AS subquery;
END++
DELIMITER ;
SQL文だけでは単一の値が返されますが、クエリを関数に置くとエラーが返されます。
エラーメッセージは何ですか? –
あなたのエイリアスには、組み込みのSQL関数名と同じ名前を付けるのは間違いです。 – WillardSolutions
クエリ自体は機能しますが、それを機能させるともう機能しません。代わりにプロシージャを作成しようとしましたか? – wast