gpt4 book ai didi

MYSQL:计算订单总额的函数

转载 作者:行者123 更新时间:2023-11-29 07:40:16 24 4
gpt4 key购买 nike

我正在尝试创建一个 MySQL 函数来计算客户的订单总额。

数据已标准化,来自两个不同的表。我相信我已经让缩放器选择语句正常工作,但正在努力乘以数量,并将行聚合在一起以返回它

这是我的查询(这给了我一个“不允许从函数返回结果集”错误):

delimiter $$
create function calcOrderTotal(id int(10))
returns decimal(10,2)
reads sql data
begin
declare orderTotal decimal(10,2);
select itemId, (select itemPrice from item i where oi.itemId = i.itemId), quantity from orderItem oi where orderId = id;
set orderTotal = sum(itemPrice);
return (orderTotal);
end $$

最佳答案

您只需要加入:

SELECT SUM(itemPrice * quantity)
FROM item i JOIN orderItem oi USING (itemId)
WHERE orderId = ?

但是,如果您绝对必须将其放入函数中:

CREATE FUNCTION calcOrderTotal(id INT(10))
RETURNS DECIMAL(10,2)
READS SQL DATA
RETURN (
SELECT SUM(itemPrice * quantity)
FROM item i JOIN orderItem oi USING (itemId)
WHERE orderId = id
);

关于MYSQL:计算订单总额的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29291056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com