gpt4 book ai didi

mysql - 如何避免执行子查询?

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

我有这样的查询:

 IF( @reputation < 50
AND NEW.user_id != NEW.author_id
AND (NEW.table_code != 15
OR new.user_id != (SELECT
CASE WHEN a.related IS NULL THEN a.author_id
ELSE b.author_id END cols
FROM qanda a
LEFT JOIN qanda b ON a.related = b.id
WHERE a.id = NEW.post_id )
)

) THEN

如您所知,子查询(SELECT 语句) 将首先执行。我的意思是 MySQL 将执行 SELECT 然后评估条件。因为子查询 (SELECT statement) 在括号中。

好吧,现在我正在尝试避免首先执行该子查询。我希望 MySQL 首先评估所有其他条件,然后如果所有条件都为 TRUE,则执行该子查询。我怎样才能做到这一点?

最佳答案

这个怎么样:

IF @reputation < 50
AND NEW.user_id != NEW.author_id
THEN
IF NEW.table_code != 15
OR new.user_id !=
(
SELECT CASE
WHEN a.related IS NULL
THEN a.author_id
ELSE b.author_id
END cols
FROM qanda a
LEFT JOIN
qanda b
ON a.related = b.id
WHERE a.id = NEW.post_id
)
THEN

关于mysql - 如何避免执行子查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37489110/

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