gpt4 book ai didi

mysql - MYSQL中查询的逆向

转载 作者:行者123 更新时间:2023-11-29 04:09:49 24 4
gpt4 key购买 nike

我有以下两个表:A 和 B

B 包含 A:a_id 的外键。

我有以下查询:

SELECT a.* FROM a INNER JOIN b ON b.a_id = a.id WHERE b.stuff=1 AND (QueryCheckingDateWithBFields)

我想反转查询,所以我这样做了:

SELECT a.* FROM a INNER JOIN b ON b.a_id = a.id WHERE b.stuff!=1 OR (!QueryCheckingDateWithBFields)

除一个问题外,它工作正常。我希望我的第一个查询 + 我的第二个查询 = 所有 A 表条目。但是如果没有a_ID是A的B,这个A就不会被选中。我怎么说“我也想要未加入的 A?”

最佳答案

使用 left outer join 而不是 inner join 并调整您的 where 子句以支持没有 的情况B:

SELECT a.* FROM a LEFT OUTER JOIN b ON b.a_id = a.id
WHERE b.id == null OR (b.stuff = 1 AND (QueryCheckingDateWithBFields))

SELECT a.* FROM a LEFT OUTER JOIN b ON b.a_id = a.id
WHERE b.id == null OR b.stuff != 1 OR (!QueryCheckingDateWithBFields)

关于mysql - MYSQL中查询的逆向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15087079/

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