Итак, я пытаюсь присоединиться к таблице, чтобы проверить, есть ли запущенная компания в магазине, но строки, кажется, повторяются, если есть совпадение.
Я пытался использовать DISTINCT и GROUP BY, ноон не ведет себя так, как я хочу.
SELECT
s.id AS ShopID,
s.name,
si.id AS shop_item_id,
si.item_price,
p.cat_id AS category_id,
c.campaign_desc,
c.campaign_type_id,
c.shop_id AS campaign_shop_id
FROM
shop_item si
JOIN
shop s ON
s.id = si.shop_id
JOIN
product p ON
si.product_id = p.id
LEFT JOIN
campaign_category cc ON
cc.category_id = p.cat_id
LEFT JOIN
campaign c ON
c.id = cc.campaign_id AND
c.shop_id = si.shop_id
WHERE
si.`product_id` = 299 AND
s.`active_shop` = 1
ORDER BY
si.`item_price`,
ShopID,
c.campaign_desc DESC
Но если я добавлю
GROUP BY ShopID
, он вернет это
Так внезапно «Черная пятница» отсутствует в первом магазине «Магазин 1».Я также попробовал DISTINCT без какой-либо удачи, и сейчас я немного растерялся.Чего мне не хватает?
С наилучшими пожеланиями, Джон