Alenorze
@Alenorze
Не люблю Индию

Как сформировать SQL запрос?

У меня есть таблица сканов и исследований, они имеют manytToMany между собой, то есть у них есть связная таблица с scanid и investigationid, я хочу сделать запрос по investigationid к примеру name, desc, scans: {список всех сканов с которым связан}, не особо шарю sql, нужен ли тут какой то join или нужно по связной таблице select делать.
Таблицы

"CREATE TABLE tbl_scan_instance ( \
            guid             VARCHAR NOT NULL PRIMARY KEY, \
            name             VARCHAR NOT NULL, \
            seed_target      VARCHAR NOT NULL, \
            created          INT DEFAULT 0, \
            started          INT DEFAULT 0, \
            ended            INT DEFAULT 0, \
            status           VARCHAR NOT NULL, \
            created_by       VARCHAR \
        )",
        "CREATE TABLE tbl_investigations ( \
            id           INTEGER NOT NULL PRIMARY KEY, \
            name         VARCHAR NOT NULL UNIQUE, \
            description  VARCHAR NOT NULL, \
            created_by   VARCHAR \
        )",
        "CREATE TABLE tbl_scan_investigation_relationships ( \
            scan_guid        VARCHAR NOT NULL REFERENCES tbl_scan_instance(guid), \
            investigation_id INTEGER NOT NULL REFERENCES tbl_investigations(id) \
        )",


SELECT * FROM tbl_investigations WHERE   rl.investigation_id = 1
and SELECT * FROM tbl_scan_instance s LEFT JOIN
tbl_scan_investigation_relationships rl ON rl.scan_guid = s.guid WHERE rl.investigation_id = 1 as scans

Я стремлюсь к такому выводу: name, description, scans: [guid, name и тд.]
  • Вопрос задан
  • 154 просмотра
Решения вопроса 1
@immelnikoff
Изучаю БД
SELECT * FROM tbl_scan_instance WHERE guid IN
(SELECT scan_guid FROM tbl_scan_investigation_relationships WHERE investigation_id = xxx);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы