gpt4 book ai didi

Select 语句中的 MySQL 用户定义变量作为表名

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

我可以使用在先前的 select 语句中定义的用户定义变量作为另一个 select 语句中的表列吗?

例子:

SELECT `name`
INTO @_ptType
FROM `point_types`
WHERE `id` = _case;

SELECT SUM(@_ptType)
INTO _awardedPts
FROM `subscribers_points`
WHERE `subscriber_id` = _subscriber_id
GROUP BY `subscriber_id`;

SELECT `id`
INTO _badgeID
FROM `badges`
WHERE `trigger_point` = _awardedPts
AND `point_type_id` = _case;

假设在第一个 select 中返回到 @_ptType 的 'name' 是 'special'

下一个选择应该返回 sub_id 等匹配的“特殊”列的值,是吗?

我不断收到错误消息:“无数据 - 提取、选择或处理的行为零”

提前致谢。

最佳答案

诀窍是使用动态 SQL 字符串创建准备好的语句:

SET @sql_text = "SELECT SUM(@_ptType)
INTO _awardedPts
FROM `subscribers_points`
WHERE `subscriber_id` = _subscriber_id
GROUP BY `subscriber_id`;";

PREPARE stmt FROM @sql_text;

EXECUTE stmt;

DROP PREPARE stmt;

关于Select 语句中的 MySQL 用户定义变量作为表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27364015/

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