Имеем 1 таблицу (далее - основная) с полем id и еще кучей других полей, далее есть еще N таблиц (дополнительные) связанных с таблицей 1 по полю id.
Задача такова: при удалении из дополнительной таблицы, если больше ни одна из дополнительных таблиц не содержит данного id то удалить запись с этим id из основной таблицы.
Пока нашел 2 решения:
1. Просто попробовать удалить, в случае чего (если есть связи по этому id) вывалится эксепшн и ничего не удалится. Мне кажется как-то грубо

2. Прогнать "select count(*) from ... where id = myid" по всем доп. таблицам, если везде 0 записей то удалить из основной. Это по моему как-то долго и еще нужно нагенерить запросов для каждой таблицы. Или может можно как-то одним запросом сделать? Пробовал "select count(*) from "Table1", "Table2" where "id" = 1" говорит ambiguous field name...
Есть ли способы проще?