У меня есть БД с несколькими таблицами, 2 из которых определяются как:список всех записей и кол-во вхождений в другой таблице
CREATE TABLE [projects] (
[id] INTEGER NOT NULL PRIMARY KEY,
[code] VARCHAR(128) UNIQUE NOT NULL COLLATE NOCASE,
[name] VARCHAR(128) DEFAULT "Not Set" NOT NULL COLLATE NOCASE
)
CREATE TABLE [tasks] (
[id] INTEGER NOT NULL PRIMARY KEY,
[project_id] INTEGER NOT NULL,
[notes] VARCHAR(512) DEFAULT 'Not Set' NOT NULL COLLATE NOCASE,
[start] DATE NOT NULL,
[finish] DATE NOT NULL,
[rate_id] INTEGER DEFAULT 1 NOT NULL
)
У меня есть этот запрос, который возвращает список деталей проектов с числом использования:
но, как я выяснил, он будет возвращать список меньшим, чем проекты, если идентификатор проекта не использовался (без задачи с данным идентификатором проекта).
Есть ли способ создать полный список проектов в том же формате для моего текущего запроса и добавить длину, но включить ВСЕ проекты, а для тех, у кого нет заданий, будет 0?
Она работает очень хорошо, смогли бы вы объяснить LEFT JOIN своими словами? Благодарю. –
Что случилось с объяснением Википедии? –
:) ничего, но мне нравится простое английское объяснение другого разработчика. Однако я смотрел на это: _ «Результат левого внешнего соединения (или просто левого соединения) для таблиц A и B всегда содержит все записи« левой »таблицы (A)« _ - довольно ясно :) –