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