У меня проблема при получении данных из моей базы данных.
проблема в том, что я хочу получить только 1 строку из 1 поля.
пример:
в таблице ms_file у меня есть 2 поля (product_id, path)
- .... / реж / bg.1
- .... / реж / bg.2
с тем же идентификатором продукта.
если я использую соединение с этой таблицей (ms_file), я получаю сообщение об ошибке при использовании группы
список не входит в предложение GROUP BY и содержит неагрегированный столбец .... который функционально не зависит от столбцов в предложении GROUP BY;
потому что по этому запросу мы получили две разные строки с одинаковым идентификатором продукта
как это решить?
select ms_product.*, ms_file.path, users.name as users_name, ms_subcategory.name as subcategory from ms_product
left join users ON users.id = ms_product.users_id
left join ms_subcategory ON ms_subcategory.id = ms_product.subcategory_id
left join ms_file ON ms_file.product_id = ms_product.product_id
where ms_product.status = "A" group by ms_product.product_id order by ms_product.created_at desc LIMIT 4
если я не ввел GROUP BY в этом запросе выше, я не получил ошибку. но этот запрос покажет 2 строки из ms_file
если я использовал GROUP BY в этом запросе выше, я получил ошибку.