如何分解存储函数输出 phpmyadmin
How to disaggregate Stored Function Output phpmyadmin
我在 phpmyadmin 中创建了一个存储函数,它跨多个字段进行计算以得出总值。我正在使用一个函数,因为计算需要在多个脚本中多次使用,所以据我所知,这是执行此操作以最大限度地减少代码更新的最有效方法。
我已经测试了该函数,它在提供输出方面起作用,但是当我将它与我的查询结合使用时,它提供了一个跨查询结果的汇总数字,而不是每行一个特定数字:
函数代码:
BEGIN
DECLARE Output_needed INT(7);
SET Output_needed = (select SUM(Col1+Col2+Col3) from table1);
RETURN (Output_needed);
END
SQL 查询:
Select ID, function_name(), Col1, Col2, Col3 from table1
需要查询输出
ID Function Returns *Output_needed* Col1 Col2 Col3
1 100 *10* 4 4 2
2 100 *50* 10 20 20
3 100 *5* 1 2 2
4 100 *15* 10 2 3
5 100 *20* 6 3 1
有人可以告诉我哪里出错了吗?我假设我在某处错过了一步,但似乎无法弄清楚。
谢谢!
函数select查询没有获取单行的条件result.So,我只是加了一个字段供条件使用
函数:
DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `function_name`(pk_field INT) RETURNS int(11)
BEGIN
DECLARE output_needed INT;
SELECT SUM(Col1+Col2+Col3) INTO output_needed FROM table1 WHERE pk_field_name = pk_field;
RETURN output_needed;
END$$
DELIMITER ;
SELECT 查询:
Select ID, function_name(pk_field_name), Col1, Col2, Col3 from table1
我在 phpmyadmin 中创建了一个存储函数,它跨多个字段进行计算以得出总值。我正在使用一个函数,因为计算需要在多个脚本中多次使用,所以据我所知,这是执行此操作以最大限度地减少代码更新的最有效方法。
我已经测试了该函数,它在提供输出方面起作用,但是当我将它与我的查询结合使用时,它提供了一个跨查询结果的汇总数字,而不是每行一个特定数字:
函数代码:
BEGIN
DECLARE Output_needed INT(7);
SET Output_needed = (select SUM(Col1+Col2+Col3) from table1);
RETURN (Output_needed);
END
SQL 查询:
Select ID, function_name(), Col1, Col2, Col3 from table1
需要查询输出
ID Function Returns *Output_needed* Col1 Col2 Col3
1 100 *10* 4 4 2
2 100 *50* 10 20 20
3 100 *5* 1 2 2
4 100 *15* 10 2 3
5 100 *20* 6 3 1
有人可以告诉我哪里出错了吗?我假设我在某处错过了一步,但似乎无法弄清楚。
谢谢!
函数select查询没有获取单行的条件result.So,我只是加了一个字段供条件使用
函数:
DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `function_name`(pk_field INT) RETURNS int(11)
BEGIN
DECLARE output_needed INT;
SELECT SUM(Col1+Col2+Col3) INTO output_needed FROM table1 WHERE pk_field_name = pk_field;
RETURN output_needed;
END$$
DELIMITER ;
SELECT 查询:
Select ID, function_name(pk_field_name), Col1, Col2, Col3 from table1