gpt4 book ai didi

mysql - 如何创建变量并将其传递给另一个查询?

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

UPDATE uye SET bakiye=bakiye+100 WHERE ID IN 
(SELECT uye FROM kupon WHERE ID IN
( select c.kupon from kuponbahis c
join bahis b on b.sonuc = c.secim and b.ID = c.bahis
group by c.kupon

having sum(c.bahis = 24) > 0 and count(*) = (SELECT COUNT(*) FROM kuponbahis WHERE kupon = c.kupon)))

这个查询有效,但我想用内部变量来更改它,而不是“100”;

UPDATE uye SET bakiye=bakiye+VARIABLE WHERE ID IN 
(SELECT uye, VARIABLE FROM kupon WHERE ID IN
( select c.kupon from kuponbahis c
join bahis b on b.sonuc = c.secim and b.ID = c.bahis
group by c.kupon

我可以用 PHP 代码来完成,但我想将所有过程直接放到 SQL 中。

(注意:是的,我想要的变量位于 kupon 表内部)

最佳答案

我怀疑您不想要变量。您需要子查询中的一列。在这种情况下,请使用 JOIN:

UPDATE uye JOIN
(SELECT k.*
FROM kupon k
WHERE k.ID IN (select c.kupon
from kuponbahis c join
bahis b
on b.sonuc = c.secim and b.ID = c.bahis
group by c.kupon
having sum(c.bahis = 24) > 0 and
count(*) = (SELECT COUNT(*) FROM kuponbahis WHERE kupon = c.kupon)
)
) k
ON k.eye = uye.id
SET bakiye=bakiye + k.VARIABLE;

关于mysql - 如何创建变量并将其传递给另一个查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34707655/

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