Выбор всех строк со столбцом, который содержится в результате запроса - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть две таблицы:

CREATE TABLE Master (
    url TEXT PRIMARY KEY,
    masterId TEXT,
);

CREATE TABLE Version (
    verId TEXT PRIMARY KEY,
    isPending INTEGER,
    masterId TEXT,
    FOREIGN KEY(masterId) REFERENCES Master(masterId)
);

Я хочу выбрать все ожидающие url с.Имеется в виду все URL-адреса из Master, в которых есть строка в Version с одинаковыми masterId и isPending = 1.

Как написать такой вложенный выбор?

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Если вам просто нужны URL-адреса, ожидающие рассмотрения, вы можете использовать EXISTS

SELECT url
FROM Master m
WHERE EXISTS
(
  SELECT 1
  FROM Version v
  WHERE v.masterId = m.masterId
    AND v.isPending = 1
);
0 голосов
/ 14 ноября 2018

Использование join

SELECT m.*
     , v.*
FROM   Master m
JOIN   version v
  ON m.masterId = v.masterId
WHERE  isPending = 1 
...