我正在创建一个过程,返回用户输入的两个日期之间的总销售额。我认为这是一个草率的代码,但我不能让它运行,我已经改变了很多次。我担心我离答案越来越远,而不是越来越近。这是我的密码:
DELIMITER //
CREATE PROCEDURE salesBetween (IN date1(date), date2(date),
OUT totalsale(decimal(10,2)))
BEGIN
SELECT SUM(hslineitem.numOrdered * hslineitem.price)
FROM hslineitem, hsorders
WHERE hsorders.orderId = hslineitem.orderId
AND (hsorders.orderDate BETWEEN date1 AND date2)
AND orderdate = date1, date2;
END //
DELIMITER ;
这是我第一次尝试使用多个用户输入,所以我猜我的问题与此有关。我在网上能找到的大部分东西都不是mysql特有的,所以没有什么帮助。
1条答案
按热度按时间n9vozmp41#
请不要使用旧的基于逗号的隐式联接,而使用现代的显式联接
Join
基于语法而且,我不认为
AND orderdate = date1, date2;
它在语法上也是错误的。我把它拿走了。