テーブル値のent_idまたはent_id_valの両方の列に存在しないentテーブルからレコードを削除する必要があります
エント
+--------+
| 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