Помогите составить MySQL запрос.

Статус
В этой теме нельзя размещать новые ответы.

garizlo

Постоялец
Регистрация
16 Сен 2006
Сообщения
104
Реакции
26
Всем привет.

В общем, по ID из URL выдергиваю информацию по продукту из таблицы: "products" запросом:
SELECT p.* FROM p.products WHERE p.id=$id

А в таблице "images_for_products" хранятся имена картинок для данного продукта, как я уже писал тут:
Для просмотра ссылки Войди или Зарегистрируйся
каждая картинка для продукта в новой строке.

Так вот, можно ли одним запросом или запросом с подзапросами получить данные по товару из таблицы "products" и массив данных с именами картинок из таблицы "images_for_products"??

Если делаю так:
SELECT p.*, i.image FROM p.products, i.images_for_products WHERE p.id=$id AND p.id=i.product_id

все работает, но из таблицы "images_for_products" получаю только одну, последнюю картинку, не массив. А картинок в таблице "images_for_products" для каждого товара может быть до 10 штук.

Не силен в запросах, подскажите как быть?
Заранее спасибо.
 
Логичней сделать 2 раздельных запроса.
 
информация по продукту - 1 результат,
картинки - много,
поля разные, поэтому логично делать 2 запроса.
 
group_concat - неплохой вариант, если нужны значения только одно столбца, напр. адреса картинок, но если инф. больше (тег alt, размеры, и т.д.) то, не очень удобно обрабатывать такой результат

Добавлено через 2 минуты
с тем же успехом можно хранить адреса картинок через запятую в таблице products, результат получим такой же
 
информация по продукту - 1 результат,
картинки - много,
поля разные, поэтому логично делать 2 запроса.
полностью согласен
если делать с left join, мускл вернет нам 10 раз информацию по одному и тому же продукту (т.е. эти 10 строк будут отличаться между собой только информацией о картинке, столбцы из таблицы p.* будут иметь одинаковые значения)
вопрос не в экономии памяти или трафика между серверами, а в удобстве конретно для вас в последующей обработке полученных результатов :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху