简体   繁体   English

在 mysql 中使用 CASE function 但出现错误代码:1241 时出现问题。操作数应包含 1 列

[英]Problem when using CASE function in mysql but getting Error Code: 1241. Operand should contain 1 column(s)

I am using CASE statement in a function in mysql like this:我在 mysql 的 function 中使用 CASE 语句,如下所示:

BEGIN
declare Rslt1 decimal(10,2);declare Rslt2 int;declare Rslt3 int;
declare Rslt decimal(10,2);declare Tot decimal(10,2);
set Tot = UnitPrice * OrderQty;
if Calctype = 0 then
 set Rslt1 = Tot;
elseif CalcType=1 then -- Buy X Pay Y
 set Rslt2 = floor((OrderQty/X));
 set Rslt3 = (Orderqty - (RSlt2 * X));
 set Rslt1 = CASE
    WHEN Rslt2 =0 THEN  Tot
    WHEN Rslt2>=1 THEN amntpercent(((Rslt2 * UnitPrice * X),ByAmnt, Dscnt) + (Rslt3 * UnitPrice))
  End;
elseif CalcType = 2 then -- for X Pay Y ( Discount by Amnount or Percentage)
  set RSlt1= amntpercent(Tot,ByAmny,Dscnt);
end if; 

RETURN (Rslt1);

but I am getting this error every time.但我每次都收到这个错误。 Any help please请提供任何帮助

seems you have wrong () in a WHEN condition似乎您在 WHEN 条件下有错误 ()
try尝试

WHEN Rslt2>=1 THEN amntpercent((Rslt2 * UnitPrice * X),ByAmnt, Dscnt) + (Rslt3 * UnitPrice)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 尝试在mysql的情况下包含“或”-错误代码:1241。操作数应包含1列 - Trying to include an “or” in a case on mysql - Error Code: 1241. Operand should contain 1 column(s) mysql调用过程错误代码:1241。操作数应包含1列 - mysql calling procedure Error Code: 1241. Operand should contain 1 column(s) sql错误代码:1241。操作数应包含1列 - sql Error Code: 1241. Operand should contain 1 column 插入时出错 - 错误代码 1241。操作数应包含 1 列 - Error on Insert - error code 1241. operand should contain 1 column(s) 使用带有out变量的sp会收到以下错误消息:错误代码:1241。操作数应包含1列 - Using a sp with an out variable get the following error message: Error Code: 1241. Operand should contain 1 column(s) 错误代码:1241。操作数应包含 1 列不知道如何解决此问题 - Error Code: 1241. Operand should contain 1 column(s) don't know how to fix this 错误代码:1241。操作数应包含 1 列关于更新和触发器 - Error Code: 1241. Operand should contain 1 column(s) On Updates and Trigger 插入WHERE和AND,错误代码:1241。操作数应包含1列 - Inserting with WHERE and AND, Error Code: 1241. Operand should contain 1 column(s) MYSQL-错误代码:-1241“运算符应包含1列” - MYSQL - Error Code :- 1241 “Operand should contain 1 column(s) ” 错误代码:1241操作数应包含1列mysql - error code : 1241 Operand should contain 1 column(s) mysql
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM