如何查询关联表中满足特定条件的两组数据?

如何查询关联表中满足特定条件的两组数据?

如何解决 mysql 关联表查询问题?

设有表 a 和 b,表 a 的 outer_id 列连接表 b 的 id 列。现在需要查询表 a 的两组数据:

  • 一组是表 a 的 outer_id 关联表 b 的 id,如果关联,type 列不能为 99;如果未关联,也需要这组数据。
  • 另一组是表 b 必须存在,并且 type 列等于 99。

以下是查询这两组数据的 sql 语句:

查询第一组数据

select a.*
from a a
left join b b on b.id = a.outer_id
where b.id is null
   or (b.id is not null and b.type != 99)

查询第二组数据

SELECT a.*
FROM A a
INNER JOIN B b ON b.id = a.outer_id AND b.type = 99

以上就是如何查询关联表中满足特定条件的两组数据?的详细内容,更多请关注其它相关文章!