首页 > 解决方案 > 查找未加入 SQL 和特定 ID 的记录

问题描述

我有两个表,A 和 B,以及一个连接表。对于 B 表的一项,假设 id = 1,我想查找 A 中未连接到该 B 项的所有记录。

我试过 :

SELECT * FROM A 
  LEFT JOIN A_B ON A.id = A_B.A_id 
  WHERE A_B.A_id IS NULL 
  AND A_B.B_id = 1;

但它没有给我任何记录,而它应该......

任何想法来解决它?

标签: mysql

解决方案


放入A_B.B_id = 1您的 ON 条件而不是where

SELECT * 
FROM A LEFT JOIN A_B 
ON A.id = A_B.A_id AND A_B.B_id = 1
WHERE A_B.A_id IS NULL 

推荐阅读