gpt4 book ai didi

mysql - 条件联合 - 如果第一个查询不返回行,则执行第二个查询

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

我有一个 mysql 查询如下:

select m.field1, l.field2... l.fieldn
from mytable m, logtable l
where <some conditions to join m and l>

union

select m.field1, h.field2... h.fieldn
from mytable m, loghistorytable h
where <some conditions to join m and h>

现在,由于历史表非常庞大并且影响性能,因此我想仅在当前日志表不返回数据时才执行历史记录中的第二个选择。我可以以某种方式修改查询吗?

最佳答案

尝试在第二个查询的条件中重复第一个查询,如下所示:

select m.field1, l.field2... l.fieldn
from mytable m, logtable l
where <some conditions to join m and l>

union

select m.field1, h.field2... h.fieldn
from mytable m, loghistorytable h
where <some conditions to join m and h>
and not exists (select m.field1, l.field2... l.fieldn
from mytable m, logtable l
where <some conditions to join m and l>)

关于mysql - 条件联合 - 如果第一个查询不返回行,则执行第二个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42665410/

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