SELECT
links.linkname
, groups.groupname
, subgroup.groupname
FROM
links
JOIN groups ON links.groupid = groups.groupid
LEFT OUTER JOIN subgroups ON links.subgroupid = subgroup.subgroupid
(повторно добавлено для ответа на вопрос ОП)
кстати, почему бы не сохранить группы и подгруппы в одной таблице и использовать самоссылочное соединение?
Akantro:
У вас будет что-то вроде этого:
создать группы таблиц (
целочисленный первичный ключ groupid,
целочисленные группы ссылок внешнего ключа parentgroupid (groupid),
название группы varchar (50))
тогда ваш запрос будет
SELECT
links.linkname
, groups.groupname
, SUBGROUPS.groupname
FROM
links
JOIN groups ON links.groupid = groups.groupid
LEFT OUTER JOIN groups SUBGROUPS ON links.subgroupid = subgroup.groupid
Нет никакой функциональной разницы в сохранении таблиц, подобных этой, но выгода в том, что вам нужно всего лишь перейти в одно место для редактирования групп / подгрупп