Что ты делаешь не так?Запрос к таблице, которая не существует.Это всегда вызывает ошибку.
Я не собираюсь говорить о целесообразности создания базы данных, в которой таблицы, важные для ваших запросов, приходят и уходят.
Ваша единственная надежда на стороне клиента -
- проверяет наличие интересующих вас таблиц, и
- выполняет различные SQL-операторы на основе этих результатов.
[После редактирования]
Звучит так, будто вам нужно одно или два левых внешних соединения.Это дает вам все идентификаторы, которые являются общими для таблиц1 и таблиц2, независимо от того, находятся ли они в таблице 3.
select t1.id, t2.id, t3.id
from table1 t1
inner join table2 t2 on (t1.id = t2.id)
left join table3 t3 on (t1.id = t3.id);
И это дает вам все идентификаторы в таблице1, независимо от того, являются ли онив таблице 2 или таблице 3.
select t1.id, t2.id, t3.id
from table1 t1
left join table2 t2 on (t1.id = t2.id)
left join table3 t3 on (t1.id = t3.id);
И, конечно же, вы можете фильтровать результаты с помощью предложения WHERE.