Mysql 存储过程问题

Mysql 存储过程问题,mysql,Mysql,我正在尝试创建这个存储过程,让您输入客户ID号,它将输出最高订单总数以及客户的名字和姓氏。这就是我到目前为止所得到的,似乎无法得到错误是什么 错误代码:1064。您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解在第6行中使用接近“MAX(o.TotalPrice)”的正确语法,并将其转换为从订单到高订单的o JOIN cu” 看起来你在c.LastName后面缺少一个逗号。 另外,我没有看到您在任何地方使用CustomerID参数。它可能应该放在WHERE子句中。即:其中Cu

我正在尝试创建这个存储过程,让您输入客户ID号,它将输出最高订单总数以及客户的名字和姓氏。这就是我到目前为止所得到的,似乎无法得到错误是什么

错误代码:1064。您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解在第6行中使用接近“
MAX(o.TotalPrice)”的正确语法,并将其转换为从订单到高订单的o JOIN cu


看起来你在c.LastName后面缺少一个逗号。 另外,我没有看到您在任何地方使用CustomerID参数。它可能应该放在WHERE子句中。即:其中CustomerIDNumber=CustomerID; 如果我根据你的意图正确理解的话。

也许你需要加入

创建过程CustomerHighestOrders(在CustomerID VARCHAR(3)中),
输出高阶(十进制)
选择最大值(o.TotalPrice)
进入高位
从命令到命令
使用(CID)以c身份加入客户
其中CustomerID=o.CID;

从另一边连接,在同一列的哪里
CID
看起来很奇怪…

什么错误?请包含完整的错误文本好吗?参数是
CustomerID
,但在使用
CustomerIDNumber
的地方。打字错误在
c.LastName
之后没有逗号。另外,SP中的BEGIN-END过多。我希望能够输入客户id,并让过程输出客户名称和最高订单总数
 DELIMITER //   
CREATE PROCEDURE CustomerHighestOrders(IN CustomerID VARCHAR(3), OUT HighestOrder DECIMAL)
    BEGIN 
        SELECT 
                c.FirstName,
                c.LastName
                MAX(o.TotalPrice)
            INTO 
                HighestOrder
        FROM 
            orders AS o
        JOIN 
            customer AS c USING(CID)
        WHERE CustomerIDNumber = o.CID;
    END //