Нахождение общего объема продаж и общего количества товаров из 2 таблиц, включает небольшую конкатенацию - PullRequest
1 голос
/ 30 июня 2011

У меня есть таблица продуктов со следующими полями

productid
name
price
catid
deleted      (can be any one from 'y' and 'n')

и есть таблица продаж

salesid
productid
salestime
paymentstatus   (enum, can have any one value: COMPLETED, REMAINING, CANCELLED)

Теперь мне нужны данные в следующем формате

catid         productids          totalproducts           totalsales

где

productids: здесь будут перечислены все идентификаторы продукта (разделенные запятыми), где удалено = 'n' и принадлежат определенной категории

totalproducts: продукты, принадлежащие определенной категории, где удалено ='n'

totalalsales: продажи, когда товар относится к определенной категории, и paymenttatus = 'COMPLETED'

любая помощь.

1 Ответ

0 голосов
/ 30 июня 2011

С помощью этого запроса вы получите общий объем продаж той категории, в которой продукт был удален.

Вы этого хотели или вы хотели ВСЕХ продаж категории, независимо от состояния продукта?

SELECT p.catid AS catid, 
       GROUP_CONCAT(DISTINCT p.productid SEPARATOR ',') AS productids, 
       COUNT(DISTINCT p.productid) AS totalproducts, 
       COUNT(s.salesid) AS totalsales
FROM products p
    LEFT OUTER JOIN sales s
        ON s.productid = p.productid
        AND s.paymentstatus = 'COMPLETED'
WHERE p.deleted = 'n'
GROUP BY p.catid
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...