Если вы хотите создать свой CSV прямо в SQL, вы можете использовать следующий запрос в качестве отправной точки:
SELECT CONCAT_WS(',', ItemID, GROUP_CONCAT(File ORDER BY File SEPARATOR ',')) AS FullCSVRow
FROM ItemToFile
GROUP BY ItemID
... который возвращает:
FullCSVRow
1,/storage/somefile1.jpg,/storage/somefile2.jpg,/storage/somefile3.jpg,/storage/somefile5.jpg
2,/storage/somerandomfile.jpg,/storage/somerandomfile.jpg,/storage/somerandomfile.jpg,/storage/somerandomfile.jpg
3,/storage/file-1-of-2.jpg,/storage/file-2-of-2.jpg
И если вы используете PHP, у вас есть полный контроль над тем, какие запросы вы делаете и как вы их строите. Вам не нужно менять дизайн БД.