gpt4 book ai didi

mysql - 如何使用输入参数创建 SQL 选择结果集

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

我在为 MySQL 中基于客户的结果集开发解决方案时遇到了一些麻烦。想象一下,我有一些主数据和一些客户特定(财务)变量。我想创建一个数据 View ,其中包含特定于客户变量的计算列。

例如:包含价格的主数据产品、包含个人折扣、利率和财务运行时间等财务输入参数的客户表。我通过创建存储过程,使用递归 cte 创建了客户特定的财务计划。

现在我想要一个产品结果集,其中有一列指定带有客户数据的价格(复杂的计算,包括平均利率和运行时间)。我想创建一个 Select 结果集,我可以在查询中将其用作网站或分析的结果集。

问题:

  • MySQL 存储函数不返回表 -> 无函数
  • MySQL 存储过程无法嵌入到 View 中 -> 无法进一步过滤过程(从(调用过程)其中“更多过滤器”中选择 *)
  • MySQL View 不能包含参数或变量(输入当前查看的客户)

解决方案是什么样的?我没有更多的想法了。感谢您的帮助。

Set @interestrate = (select ... where customer = @INPUT)
Set @runtime = (select ... where customer = @INPUT)

Select
productid,
price,
(
price * avg(recursive cte @interestrate, @runtime) * @runtime
) as calculation
from masterdata
where
criterium_a = "abc"
criterium_b = "def"

最佳答案

我认为您正在寻找的是临时表:

    DROP TEMPORARY TABLE IF EXISTS Cust_Rates;
CREATE TEMPORARY TABLE Cust_Rates AS
SELECT ... FROM ... WHERE Customer = @Input

然后在查询中SELECT FROM Cust_Rates

关于mysql - 如何使用输入参数创建 SQL 选择结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57133466/

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