Задавайте вопросы, мы ответим
Вы не зашли.
Есть база (в прикрепленном файле). Все вроде просто, но не могу составить запрос.
Надо выбрать все репорты и прикрученные к ним файлы, т.е. репорт один, а файлов много. В итоге на выходе должен быть список report_id, description, timestamp, files, где files - строка, склеенная из files.name (file1.txt,file2.txt,file3.txt и т.д.). Проблема еще в том, что запрос должен быть один.
Погуглив у меня получился запрос:
Неактивен
Хорошо проверьте название полей, возможно не совсем правильно составлены связи.
Но в общем я думаю вам нужно что такое.
Неактивен
evgeny написал:
Хорошо проверьте название полей, возможно не совсем правильно составлены связи.
Но в общем я думаю вам нужно что такое.
SELECT r.id, r.description, r.timestamp,GROUP_CONCAT(f.name)
FROM reports AS r
LEFT JOIN report_files AS rf ON r.id = rf.report_id
LEFT JOIN files AS f ON f.id = rf.file_id
LEFT JOIN locations AS loc ON r.location_id = loc.id
WHERE loc.latitude >= 53.7576898341 AND loc.latitude <= 54.0468241659 AND loc.longitude >= 27.3171088402 AND loc.longitude <= 27.8061711598
group by r.id;
Спасибо, заработало!
Неактивен