gpt4 book ai didi

mysql - 错误 #1241 在 Mysql Workbench 中操作数应包含 1 列

转载 作者:行者123 更新时间:2023-11-29 18:11:36 25 4
gpt4 key购买 nike

我只是尝试以下查询:

CREATE DEFINER=`root`@`localhost` FUNCTION `cal1`(z DATE , y DATE) RETURNS float
BEGIN
SET @c= (SELECT a.StudentName, (b.marks/a.marks) as difference from (select Date, StudentName, marks from studenthistory2015 WHERE Date=z) as a INNER JOIN (select Date, StudentName, marks from studenthistory2015 where Date=y) as b on a.date=z and b.date=y WHERE a.date = z and b.date = y and a.StudentName=b.StudentName
);
RETURN @c;
END

执行:

选择student_history.cal1('2015-01-01', '2015-02-01');但执行后却显示错误 #1241 操作数应包含 1 列

我应该如何解决这个查询?

最佳答案

P.Salmon说,你试图返回一组参数,包含字符串和 float (我假设)

SELECT a.StudentName, (b.marks/a.marks) as difference

虽然您实际上在函数中确实声明了您将返回一个 float ,但不是返回单个变量:RETURNS float

也许您可以将函数转换为过程,就像 detailed answer here 中提到的那样,回答与您相关的另一个问题。

关于mysql - 错误 #1241 在 Mysql Workbench 中操作数应包含 1 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47347231/

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