Вы "реляционные таблицы" - это катастрофа;требуемый код SQL (SQL предназначен для навигации по реляционным базам данных) будет еще более опасным, никогда не завершенным и не стабильным.Проблемы кодирования - это последующие проблемы второго порядка, которые выявляют ошибки в первом порядке.
Во-первых, нормализуйте и точно смоделируйте ваши данные для реляционной СУБД, в которую вы их поместили;и чтобы вы могли использовать реляционный язык SQL.Тогда код будет простым, легким, понятным и полным.
Если вы хотите, чтобы я смоделировал данные, хорошо.Но мне нужно больше информации, чем загадочных Id
столбцов;Мне нужны имена сущностей и столбцов, что они означают, как они на самом деле связаны друг с другом.
Ответы на комментарии
Да, у вас наверняка может быть столбецэто внешний ключ, ссылающийся на несколько родительских таблиц.Но вы не можете (в реляционной базе данных) иметь столбец, который является или одной или другой родительской таблицей: это приведет к сиротам, спинстерам и всевозможным легко избежать ужасов кодирования.