как найти таблицы, содержащие ссылки на первичный ключ родительской таблицы в SQLite

#sql #sqlite #select #foreign-keys

Вопрос:

Допустим, у нас есть 1 родительская таблица (таблица клиентов) и множество дочерних таблиц (таблица форм) в SQLite.

Каждая из дочерних таблиц имеет внешний ключ (client_id), ссылающийся на первичный ключ родительской таблицы (client_id).

У меня есть имя и идентификатор одного клиента (скажем, client1), моя цель-найти формы, принадлежащие этому конкретному клиенту, что означает поиск таблиц, в которых внешний ключ ссылается на client_id: 1,

В приведенном ниже примере у нас есть 1 родительский элемент и 3 дочерние таблицы, 2 из которых ссылаются на client1 в таблице «клиенты», поэтому я хочу иметь возможность выбрать эти 2 таблицы на основе первичного ключа родительской таблицы (client_id) с помощью SQLITE

Примечание: Я не знаю имен дочерних таблиц, я хочу выбрать конкретные таблицы исключительно на основе идентификатора и имени клиента

Таблица Клиентов

идентификатор клиента Имя
1 клиент1
2 клиент2

Форма Table1 (пример одной из множества дочерних таблиц)

ID Идентификатор клиента данные
1 1 данные 1…
2 1 данные 2…

форма Table2 (пример одной из множества дочерних таблиц)

идентификатор данных клиент _Id Группа
1 2 dataA…
2 2 Да…

форма Table3 (пример одной из множества дочерних таблиц)

идентификатор данных клиент _Id Группа
1 1 dataA…
2 1 Да…

Ответ №1:

вы можете использовать внутреннее соединение.

 SELECT a1, a2, b1, b2
FROM A
INNER JOIN B on B.f = A.f;
 

Комментарии:

1. спасибо за ваш ответ, но ваш ответ не решает мою проблему, вы соединяете «А» с «Б», но, как я уже сказал в своем вопросе, я не знаю названий детских столов, пожалуйста, внимательно прочитайте мой вопрос