Задать вопрос
Dier_Sergio_Great
@Dier_Sergio_Great
Увлеченный человек

Как сделать COUNT`ы для каждого 2х JOIN`ов?

Вопрос только для ГУРУ.
Уважаемые гуру как использовать несколько COUNT`ов в запросе с несколькими JOIN`ами?
Дело в том что этот запрос встроен в CMS и я могу только изменить такой тип запроса. Это реально?
Можно это сделать без вложенных запросов типа FROM (SELECT) ???
задача
SELECT COUNT(order.id), COUNT(cat.id), prod.name, prod.product_id
FROM product prod
LEFT JOIN produuct_to_category prod_cat USING (product_id) 
LEFT JOIN caterory cat ON prod_cat.category_id = cat.category_id
LEFT JOIN order USING  (product_id) 
GROUP BY prod.product_id;

Данный запрос возвращает результат:
count(order.id),        count(cat.id),        name,        product_id
198                       198               Продукт1                 1
33                        33                   Прод2                 2
42                        42                   Прод3                 3

А должен что то вроде этого:
count(order.id),        count(cat.id),        name,        product_id
6                       33               Продукт1                 1
11                      3                   Прод2                 2
7                       6                   Прод3                 3
  • Вопрос задан
  • 37 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
idShura
@idShura
Попробуй как-нибудь так:
sum (case when order.id is null then 0 else 1 end) order,
sum (case when cat.id is null then 0 else 1 end) cat,
prod.name, 
prod.product_id
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы