У меня есть две таблицы, которые выглядят примерно так:
Основная таблица: id (int), title (varchar) и т. Д.
Подтаблица: main_table_id (внешний ключ в основной таблице), тег (varchar) и т. Д.
Для данной строки в основной таблице может быть ноль или более субтаблиц.
Я хочу сделать запрос, который будет возвращать каждую строку основной таблицы со столбцами основной таблицы и столбцами только из одной строки (неважно, какая) из вложенной таблицы, если в этих столбцах они есть, иначе NULL.
Конечно, если я просто выполню простое ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ, тогда, конечно, я получу повторение основной таблицы несколько раз, по одному на каждое совпадение в подстол.
Я уверен, что видел, как это было сделано до использования LEFT OUTER JOIN и какой-то хитрости, которая заставляет выбрать только одну строку из вложенной таблицы, а не все - возможно, выбирая минимум или максимум OID. Однако более часа поиска в Google не принесло никаких решений.
Кто-нибудь имеет этот трюк в своем инструментальном поясе?