Такая проблема есть большой запрос вида:
SELECT p.product_id,
p.product_sku,
p.product_desc as product_desc_ru,
p.product_full_image,
p.product_weight,
p.product_in_stock,
p.product_name as product_name_ru,
p.attribute,
l.reference_field,
l.value,
a.file_url,
c.product_price,
d.amount as discount,
d.start_date,
d.end_date,
ci.category_id,
ci.category_name as category_name_ru,
ci.category_description as category_description_ru,
ci.category_full_image
FROM `jos_vm_product` p
LEFT JOIN `jos_jf_content` l ON p.product_id = l.reference_id // ТУТ ID НЕ УНИКАЛЕН И МОЖЕТ ВЕРНУТЬ 2 и БОЛЕЕ ROW
LEFT JOIN `jos_vm_product_files` a ON p.product_id = a.file_product_id // ТУТ ID НЕ УНИКАЛЕН И МОЖЕТ ВЕРНУТЬ 2 и БОЛЕЕ ROW
LEFT JOIN `jos_vm_product_price` c ON p.product_id = c.product_id AND c.product_currency = 'EUR'
LEFT JOIN `jos_vm_product_discount` d ON p.product_discount_id = d.discount_id
LEFT JOIN `jos_vm_product_category_xref` ch ON p.product_id = ch.product_id
LEFT JOIN `jos_vm_category` ci ON ch.category_id = ci.category_id
WHERE l.language_id = 4 AND l.reference_table = 'vm_product'
Имхо главный вопрос как сделать так чтоб он достраивал таблицу? так чтоб конкретно к одному p.product_id принадлежала одна строка, то есть мне нужно там где возвращается 2 и более строки слепить в одну строку в виде отдельных(новых добавленных) столбцов, задача реальна?
Например таблица вида
------------------------------------------
file_id | file_product_id | file_name
169 | 392 | NAME1
170 | 392 | NAME2
171 | 392 | NAME3
172 | 392 | NAME4
------------------------------------------
Результат запроса должен дать
------------------------------------------------------------------------------------
file_product_id | file_name | file_name2 | file_name3 | file_name4
392 | NAME1 | NAME2 | NAME3 | NAME4
------------------------------------------------------------------------------------
Как такое сделать? ;-)
group_concat который делает одну строку в одной колонке не предлагать, надо именно чтоб добавились новые колонки которые будут равняться числу ROW
Отредактированно cha0s (28.07.2015 18:28:53)