gpt4 book ai didi

mysql - 如何在运行时在mysql查询中配置表

转载 作者:行者123 更新时间:2023-11-29 05:36:13 24 4
gpt4 key购买 nike

人们都知道我们可以像这样在 select 语句中使用 if 语句来配置查询

select if(var=1,amount,amount/2) from mytable;

但是如果我想实现这样的目标怎么办:

select amount from if(var=1,mytable1,mytable2);

有没有办法在运行时配置表?

最佳答案

SELECT amount FROM mytable1 WHERE @var = 1
UNION
SELECT amount FROM mytable2 WHERE @var = 0

UPD:对于条件评估为 FALSE 的查询部分,MySQL EXPLAIN 看起来像这样:

注意 Impossible WHERE 部分。 MySQL 认识到 WHERE 中的表达式不断求值为 FALSE,因此它甚至不会尝试执行查询。因此,使用这种方法时没有性能开销。

关于mysql - 如何在运行时在mysql查询中配置表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10355034/

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