Я пытаюсь сделать несколько запросов, во-первых, я делаю это (и работает):
SELECT RP.id, RP.product_name, RP.price, RP.retailer_id, RP.product_id,
count(G.id) AS duration, G.active, RP.retprod_id, P.pr_id AS video
FROM retailer_products AS RP
LEFT JOIN groups G ON RP.id=G.retailer_product_id
INNER JOIN products P ON P.id=RP.product_id
WHERE (RP.product_id IN (1))
GROUP BY RP.id;
Но когда я делаю это, он дает мне пустой набор, разница в том, что он имеет «HAVING» в конце запроса над полем, которое может быть: 0, 1 или NULL (из-за LEFT ПРИСОЕДИНЯЙТЕСЬ, у меня нет групп, связанных с таблицей retailer_product)
SELECT RP.id, RP.product_name, RP.price, RP.retailer_id, RP.product_id,
count(G.id) AS duration, G.active, RP.retprod_id, P.pr_id AS video
FROM retailer_products AS RP
LEFT JOIN groups G ON RP.id=G.retailer_product_id
INNER JOIN products P ON P.id=RP.product_id
WHERE (RP.product_id IN (1))
GROUP BY RP.id HAVING G.active=1;
Итак, я попробовал следующие способы, но никто не работает:
-- HAVING G.active=1
-- HAVING G.active=1 OR G.active=NULL
-- HAVING G.active0
Как правильно справиться с этим на MySQL? Заранее спасибо!