如何查询关联表中满足特定条件的两组数据?
如何解决 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
以上就是如何查询关联表中满足特定条件的两组数据?的详细内容,更多请关注其它相关文章!