SQLite3: выбрать столбцы из нескольких таблиц по множеству идентификаторов - PullRequest
0 голосов
/ 15 февраля 2019

Предположим, есть три таблицы: A , B и C .Каждый из них имеет столбец id ( INTEGER NOT NULL PRIMARY KEY ) и столбец data ( TEXT ).Есть и еще одна таблица - records - с полями:

record_id  INTEGER NOT NULL PRIMARY KEY,
a_id       INTEGER,
b_id       INTEGER,
c_id       INTEGER,
...

Как выбрать A . data , B . data и C . data для определенной записи (record_id = <some value>) по a_id , b_id и c_id соответственно, когда последние могут быть либо действительными идентификаторами, либо нулями (поэтому каждый столбец в результате может быть значением TEXT или NULL)?

1 Ответ

0 голосов
/ 15 февраля 2019

Предполагая пример данных, следующий мой запрос с использованием левых соединений-

select r.record_id,
       a.text as a_txt,
       b.text as b_txt,
       c.text as c_txt
  from records r
left join tablea a
        on r.a_id=a.id
left join tableb b
        on r.b_id=b.id
left join tablec c
        on r.c_id=c.id
where r.record_id=<Some Value>;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...