我需要从ent表中删除表值中ent_id或ent_id_val列中都不存在的记录
耳鼻喉科
+--------+
| ent_id |
+--------+
| 1 |
| 2 |
| 3 |
+--------+
价值
+--------+------------+
| ent_id | ent_id_val |
+--------+------------+
| 1 | NULL |
| NULL | 2 |
+--------+------------+
ent_id 可以在值表中的 ent_id 和 ent_id_val 列中。在上面的示例中,我希望删除记录 ent_id = 3。下面是我的尝试,它确实删除了一些,但我想知道为什么它没有完全删除?我在ent表中仍有记录,但未在值表中使用。
DELETE e.*
FROM ent e
LEFT JOIN value v1 on e.ent_id = v1.ent_id
LEFT JOIN value v2 on v2.ent_id_val = e.ent_id
WHERE v1.ent_id is null and v2.ent_id_val is null