gpt4 book ai didi

新手的Mysql存储过程方程一步一步?

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

您好,我是 MySQL 的新手,需要针对此案例的逐步帮助

我有数据库名称p_data其中有不同的表,通过indexunique

建立关系

第一个表名称是f_table

 -----------------
| f_table |
-----------------
| AV2 |
| |
-----------------

第二个表是s_table

 -----------------
| s_table |
-----------------
| AV3 |
| |
----------------

我想让每个数据条目的每个 AV3 值等于此公式(如 Excel)

 AV3 =

=IF(AND(AV2>=1, AV2<40), 0, IF(AND(AV2>=40, AV2<=49), 18,
IF(AND(AV2>=50, AV2<=59), 36, IF(AND(AV2>=60, AV2<=69), 55,
IF(AND(AV2>=70, AV2<=79), 73,IF(AND(AV2>=80),91,""))))))

示例

 if AV2 >= 1 or < 40 
So AV3 = 0

if AV2 >= 40 or =< 49
So AV3 = 18

and So on ...

如何运行MySQL来处理每个数据条目并根据第一个方程示例运行值并自动将每个数据条目从第一个表添加到第二个表?

最佳答案

这是对尼克答案的调整:

UPDATE s_table s JOIN
p_table p
ON s.id = p.id
SET s.AV3 = (CASE WHEN p.AV2 < 40 AND p.AV2 >= 0 THEN 0
WHEN p.AV2 < 50 THEN 18
WHEN p.AV2 < 60 THEN 36
WHEN p.AV2 < 70 THEN 55
WHEN p.AV2 < 80 THEN 73
WHEN p.AV2 >= 80 THEN 91
ELSE NULL
END);

变化是:

  • 简化 CASE 表达式,认识到值是按顺序实现的。
  • 修复了 ELSE 子句以使用 NULL,以便类型保持一致。

关于新手的Mysql存储过程方程一步一步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51761155/

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