Вот мое заявление:MySQL, условное ИНЕКЕ
SELECT
a.size AS 'size_id',
b.size,
a.stock,
a.id AS 'stock_id',
IFNULL(c.quantity,0) as 'cart_qty'
FROM
stock a
JOIN
sizes b ON a.size = b.id
LEFT JOIN
cart_items c ON a.id = c.stock_id
WHERE
a.product_id = '{$product['id']}'
AND
c.cart_id = '$cart_id'
AND
a.stock > 0
ORDER BY
b.display_order
В приведенном выше $ cart_id может быть пустым, или оно не может иметь никаких матчей в таблице 'cart_items. Как мне перефразировать выше, чтобы, если в cart_items нет совпадений, я все еще получаю результаты от акций, которые соответствуют product_id? Но если в cart_items есть совпадения, я получаю дополнительный столбец (cart_qty)?
Если вы хотите получить информацию о товаре, что бы она ни находилась в корзине, почему вы ограничиваете результат cart_id? Просто удалите 'AND c.cart_id = $ cart_id' –
@Keiran Tai, это запускается при загрузке стандартной страницы продукта. Поэтому, если продукт уже находится в корзине пользователя, я хочу знать количество. – daninthemix