DELETE по соединению 2х таблиц

mulder

Guest
DELETE по соединению 2х таблиц

Можно ли произвести DELETE из одной таблицы если условия удаления указаны в связвнной с ней таблице
только посредством SQL?
(например есть таблицы orders и order_items и нужно удалить все order_items где дата старее месяца, а дата хранится в таблице orders)

Сделать SELECT по двум таблицам а потом по WHILE пробегать и удалять по одной записи напрягает.
 

MiStErDj

Guest
Нет,делаешь селект на дату из ордерс,потом делаешь рекордсет филтер по дате и стираешь все в fore....
Надеюсь понятно написал :)
 

ForJest

- свежая кровь
В 4-м мускуле можно.
Вообще для таких вопросов есть свой форум. Как называется не скажу :).
А сделать в 3.23.xx можно что-то типа такого:
PHP:
SET @list='-1,';
SELECT LEFT(@list:=CONCAT(@list, id, ','), -1) FROM ... WHERE ...
DELETE FROM Table1 WHERE id IN(LEFT(@list, LENGTH(@list)-1))
 
Сверху