我想你可以试着用
JOIN
打开并连接条件
op.office_id = o.id
CREATE TABLE offices_postcodes(
id INT,
postcode VARCHAR(50),
office_id INT
);
INSERT INTO offices_postcodes VALUES (1,'0100036',271);
INSERT INTO offices_postcodes VALUES (2,'0100036',275);
INSERT INTO offices_postcodes VALUES (3,'0100035',271);
INSERT INTO offices_postcodes VALUES (4,'0100037',271);
INSERT INTO offices_postcodes VALUES (5,'0100037',275);
INSERT INTO offices_postcodes VALUES (6,'0100039',271);
CREATE TABLE offices(
id INT,
postcode VARCHAR(50),
department_id INT
);
INSERT INTO offices VALUES (271,'A',1);
INSERT INTO offices VALUES (275,'B',1);
查询#1
SELECT op.postcode
FROM `offices_postcodes` op JOIN `offices` o
ON op.office_id = o.id
GROUP BY op.postcode
having Count(op.postcode) = 1;
| postcode |
| -------- |
| 0100035 |
| 0100039 |
View on DB Fiddle