gpt4 book ai didi

MySQL存储过程和游标

转载 作者:行者123 更新时间:2023-11-29 14:20:45 28 4
gpt4 key购买 nike

我是 stackoverflow 的初学者,我希望你能为我的问题提供解决方案,我会解释:

我有两个表:第一个表(表 A)包含(电话号码、持续时间)和第二个表(表 B)包含(international_prefix、目的地、每分钟费用和长度(前缀))

所以我需要做的是对两个表中的所有数据进行更新,之后我将解释算法,首先这是更新命令:/* 我们将在表 A 中添加一列,其中包含我们的结果,我们将其命名为“结果” */

 UPDATE table Table A SET result  = CASE WHEN left (phone_number,length(prefix)) = prefix_inter 
THEN (duration * fee per minute)

这就是我想要对每个电话号码执行的操作,我已经按前缀对表 B 进行了排序 将最大的前缀放在顶部,这样第一个检查的就是最大的代码。

此代码将计算 VOIP 的完整性,因此我们需要通过验证电话号码是否完全包含国际前缀来检测电话号码的目的地(例如,我们可以使用 0044123,每分钟 0.156 欧元, 0044 每分钟 0.08 欧元,这就是为什么我们必须从验证中最大的代码开始)

每个电话号码都必须使用表 B 中的所有前缀进行验证所以最后,我需要你给我解决方案,因为我在这个领域没有足够的知识......

PS:我使用的是 MySQL 5.5感谢和问候。

最佳答案

那么,您想使用这两个表来计算电话费用吗?一种方法是在子选择中查找每分钟的费用:

UPDATE A SET result = (select A.duration*B.fee_per_minute from B where
locate(B.prefix, A.phone_number) = 1 order by length(prefix) desc limit 1);

如果 B 已经按前缀长度排序,您可以删除“order by”。

关于MySQL存储过程和游标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11791496/

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