2015-02-20 6 views
0

У меня есть следующие две таблицы, категории и продажи. Я хочу рассчитать количество каждой категории на ежедневной основе.Количество в каждой категории на каждый день

Категория Таблица

id cat_name 
01 A 
02 B 
03 C 

продаж Таблица

date   cat_id 
2015/02/01 01 
2015/02/01 01 
2015/02/01 03 
2015/02/02 02 
2015/02/02 03 
2015/02/02 03 
2015/02/03 01 
2015/02/03 02 
2015/02/03 02 

Результат

date   A  B  C 
2015/02/01 2  0  1 
2015/02/02 0  1  2 
2015/02/03 1  2  0 

Любая помощь будет оценена.

ответ

1

Запрос

SELECT s.`date`, 
COUNT(CASE WHEN s.cat_id=01 THEN cat_id END) AS A, 
COUNT(CASE WHEN s.cat_id=02 THEN cat_id END) AS B, 
COUNT(CASE WHEN s.cat_id=03 THEN cat_id END) AS C 
FROM sales s 
JOIN category c 
ON s.cat_id=c.id 
GROUP BY s.`date`; 

Fiddle demo

Смежные вопросы