заказам с мобильных устройств
insert into orders_mobile_m
SELECT cs.store_id, cs.name, count(sfo.entity_id), avg(sfo.base_grand_total), date_format(sfo.created_at, @date_format)
FROM core_store cs
LEFT JOIN sales_flat_order sfo on sfo.store_id = cs.store_id
WHERE sfo.status IN ('reserved', 'complete', 'collect')
AND sfo.created_at BETWEEN date_sub(curdate(), INTERVAL 3 MONTH)
AND curdate()
AND sfo.app_source in (@android, @ios)
GROUP BY cs.name, month(sfo.created_at);
-- Собирает информацию по заказам c рекламы
insert into orders_UTM_m
SELECT cs.store_id, cs.name, count(id), avg(sfo.base_grand_total), date_format(sfo.created_at, @date_format)
FROM core_store cs
LEFT JOIN sales_flat_order sfo on cs.store_id = sfo.store_id
JOIN magdv_utm u on sfo.entity_id = u.order_id
WHERE u.action = 'order'
AND u.updated_at BETWEEN date_sub(curdate(), INTERVAL 3 MONTH)
AND curdate()
GROUP BY cs.name, month(sfo.created_at);
Для меня важно чтобы были все строки из core_store cs
В первом запросе так и работает. А во втором 2 записи из core_store не достаються, так как связанных с ними записей нет. Как подправить второй запрос?
GROUP BY не по феншую (стандарту) в первом
Обсуждают сегодня