如何查詢關聯表中滿足特定條件的兩組數據?

如何查詢關聯表中滿足特定條件的兩組數據?

如何解決 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

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享