Подскажите как вытащить данные из таблицы по условиям, который описал ниже? Есть запрос который вытаскивает id товаров:
CODE (
SQL):
скопировать код в буфер обмена
SELECT cp.`id_cart`, cp.`id_product`, cp.`id_product_attribute`, c.`id_guest`, c.`id_cart`, cp.`quantity`
FROM `ps_cart_product` cp
LEFT JOIN `ps_cart` c
ON cp.`id_cart` = c.`id_cart`
WHERE c.`id_guest` = $id
$id - id клиента чью корзину получаем. (не суть)
На выходе имеем два нужных параметра - id товаров и его количество.
Выглядеть будет так:
id_product, quantity
13, 1
22, 2
Далее в следующем запросе я вытаскиваю всю информацию о товарах, id которых получил ранее:
CODE (
SQL):
скопировать код в буфер обмена
SELECT p.`id_product`, p.`price` , l.`name` , l.`link_rewrite` , i.`id_image`, sp.`reduction_type`, sp.`reduction`, f.`value`, fp.`id_feature_value`
FROM `ps_product` p
LEFT JOIN `ps_product_lang` l
ON l.`id_product` = p.`id_product`
LEFT JOIN `ps_image` i
ON i.`id_product` = p.`id_product` AND i.`cover` = '1'
LEFT JOIN `ps_specific_price` sp
ON sp.`id_product` = p.`id_product`
LEFT JOIN `ps_feature_product` fp
ON fp.`id_product` = p.`id_product` AND fp.`id_feature` = '13'
LEFT JOIN `ps_feature_value_lang` f
ON f.`id_feature_value` = fp.`id_feature_value`
WHERE p.`id_product` IN ($product_ids_str)
Цифры - константы.(не суть)
$product_ids_str - это те самые id которые были вытащены ранее, просто я подготовил их для запроса. На выходе получим данные. Но не учитывается кол-во товаров. То есть я получу 2 строки, по одной для каждого id товара. Но нужно получить исходя из этой задачи 3 строки, так как всего 3 товара. Что нужно дописать чтобы получилось то что мне нужно?
Рассматривал вариант перебора в цикле и дублирования инфы, в зависимости от кол-ва товара.. но как-то некрасиво чтоли.