Упрощенно, например, у меня есть две таблицы, groups
и items
.
items (
id,
groupId,
title
)
groups (
id,
groupTitle,
externalURL
)
Обычный запрос у меня выглядит примерно так:
SELECT
i.`id`,
i.`title`,
g.`id` as 'groupId',
g.`groupTitle`,
g.`externalURL`
FROM
items i INNER JOIN groups g ON (i.`groupId` = g.`id`)
Однако мне нужно изменить это сейчас, потому что все группы, которые указывают externalURL
, не будут иметь никаких соответствующих записей в таблице items
(так как они хранятся снаружи). Можно ли сделать какое-то соединение, чтобы результат выглядел примерно так:
items:
id title groupId
----------------------
1 Item 1 1
2 Item 2 1
groups
id groupTitle externalURL
-------------------------------
1 Group 1 NULL
2 Group 2 something
3 Group 3 NULL
Query output:
id title groupId groupTitle externalURL
---------------------------------------------------
1 Item 1 1 Group 1 NULL
2 Item 2 1 Group 1 NULL
NULL NULL 2 Group 2 something
-- note that group 3 didn't show up because it had no items OR externalURL
Возможно ли это в одном запросе SQL?