delete from ba
from
Book_Author as ba
join Book as b on ba.id_Book = b.id_Book
join Thematic as t on t.id_thematic = b.id_thematic
where
t.id_thematic = 'нужное_мне_значение'
Сделать запрос на удаление в базе данных
Book_Author, на основе связанных между собой таблиц Book, Thematic и Book_Author.
Ситуация следующая мне нужно удалить данные о какой либо тематике (Thematic),
этой тематике принадлежат некоторые книги (внешний ключ id_thematic из таблицы
Thematic) - их тоже нужно удалить, но сперва нужно удалить данные из таблицы
Book_Author - внешний ключ у нее id_Book. Вообщем вопрос как опираясь на таблицы
Thematic и Book составить запрос на удаление данных из таблицы Book_Author зная что определенная тематика
будет удалена.
Ключи этих таблиц Thematic - собственный ключ id_thematic, Book - собственный ключ id_Book,
внешний ключ id_thematic, Book_Author - внешний ключ id_Book.
Связи таблиц представлены ниже:
http://www.imagepost.ru/?v=dsfds.JPG
Код:
имхо авторов ненужно удалять - у одного автора может быть несколько книг разной тематики. А чтоб книги нужной тематики удалялись автоматически с удалением тематики или с удалением автора - в таблицах добавить
Цитата: arrjj
А чтоб книги нужной тематики удалялись автоматически с удалением тематики или с удалением автора - в таблицах добавить внишние ключи с каскадным удалением
Каскадное удаление сущностей - очень опасный инструмент, можно остаться без данных. Оно обычно применяется лишь для удаления строк из второстепенных таблиц связи.