【发布时间】:2021-03-01 01:17:30
【问题描述】:
我正在尝试创建一个程序,在输入时输出特定 orderNumber 的总收入。但是,当我为 10100 的特定订单号运行下面的过程时,sql 返回每个订单号的所有订单收入的总和。如何更改我的程序以在输出时返回特定订单号的特定订单收入?
use salesshort;
drop procedure if exists orderTotal;
DELIMITER //
create procedure orderTotal(in orderNumber int(11))
begin
select orderNumber, sum(quantityOrdered * priceEach) as 'Orders_Revenue'
from orderdetails
group by orderNumber;
end//
Delimiter ;
call orderTotal('10100')
【问题讨论】:
-
你认为你的SELECT中的
orderNumber是表列引用吗?这不是真的 - 这是一个输入变量。要引用该列,您必须使用orderdetails.orderNumber。
标签: mysql sql stored-procedures parameters