Что не так со следующим sql:
SELECT DATE(NOW())-INTERVAL seq.seq DAY sdate, u.order_type, IFNULL(c,0) c
FROM (
SELECT 0 AS seq
UNION ALL SELECT 1 UNION ALL SELECT 2
UNION ALL SELECT 3 UNION ALL SELECT 4
UNION ALL SELECT 5 UNION ALL SELECT 6
) seq
LEFT JOIN (
SELECT t.order_type, DATE_FORMAT(t.order_date, '%Y-%m-%d') as tdate, count(*) c
FROM `order` t
WHERE t.order_type IN (10,11)
GROUP BY t.order_type, tdate
) u ON u.tdate = sdate
Почему я получаю Error Code: 1054. Unknown column 'sdate' in 'on clause'
?
В основном я пытаюсь выбрать количество заказов в день для каждого типа заказа. Если в данный день нет заказов данного типа, я хочу получить 0 в результате:
| date | order_type | count |
|------------|------------|-------|
| 2018-11-09 | 10 | 2 |
| 2018-11-09 | 11 | 0 |
| 2018-11-10 | 10 | 0 |
| 2018-11-10 | 11 | 0 |
| 2018-11-11 | 10 | 1 |
| 2018-11-11 | 11 | 2 |
| 2018-11-12 | 10 | 3 |
| 2018-11-12 | 11 | 2 |