В Postgres 12, я пытаюсь выполнить SELECT
в таблице recipes
, получив только одно изображение (файлы). Однако при выполнении запроса без GROUP BY
я получаю дубликаты рецептов по количеству их изображений (файлов). При попытке использовать GROUP BY
я получаю следующую ошибку:
столбец «f.path» должен появиться в предложении GROUP BY или использоваться в агрегатной функции
Выполняемый мной запрос:
SELECT r.id, r.title, c.name AS chef_name, f.path
FROM recipes AS r
LEFT JOIN chefs AS c ON (r.chef_id = c.id)
LEFT JOIN recipe_files AS rf ON (rf.recipe_id = r.id)
LEFT JOIN files AS f ON (rf.file_id = f.id)
GROUP BY r.id, c.id
ORDER BY r.title ASC
Если я добавлю f.path
к GROUP BY
, я вернусь к исходной проблеме получения списка с повторяющимися элементами в соответствии с количеством изображений ( файлы).