У меня есть пара таблиц, связанных следующим образом:
- дороги (id, name)
- домов (id, rid, name, housenumber), связанных с дорогами столбцом: "rid".
- ссуды (id, rid), связанные с дорогами столбцом: "rid".
- записей ссуд (id, lid, housenumber), связанных с ссудами по столбцу: "lid" и housenumber.
Когда пользователь хочет удалить дом, я должен удалить записи ссуды с определенным номером дома.
Таким образом, из идентификатора дома я получаю идентификатор дороги, после чего я могу получить ссуды, связанные с этой дорогой, и удалить все записи ссуд с крышкой и номером дома.
Я написал для этого запросы с подвыборками, но я думаю, что с объединениями это может быть намного быстрее.
Я застрял здесь. Я даже не уверен, что делаю то, что хочу, и получаю сообщение об ошибке mysql:
"Неизвестная таблица 'le' в MULTI DELETE".
Я попробовал несколько вариантов, но не могу понять.
Мой запрос:
DELETE le
FROM `roads` AS r
LEFT JOIN `loans` AS l ON l.rid = r.id
LEFT JOIN `loan-entries` AS le ON le.lid = l.id
LEFT JOIN `houses` AS h ON h.rid = r.id
WHERE h.id = '" . $_POST['id'] . "'
AND le.housenumber = h.housenumber