Я уверен, что это легко, но я смотрю на это в течение часа и просто не вижу его.
У меня есть две таблицы в системе продаж / оплаты, однакоторый содержит различные способы оплаты и связанные детали, а другой содержит продажи, включая идентификаторы, итоги и способ оплаты.
В конце периода я хочу подвести итоги по всем различным методам,или NULL или 0, если его не было.
У меня есть запрос:
SELECT m.method_id, m.description, SUM(s.total) as total
FROM payment_method m
LEFT JOIN sale s ON s.payment_method = m.method_id
WHERE m.for_stock_keeping = 0 AND
(s.shift_id = ? OR s.shift_id IS NULL)
GROUP BY m.method_id;
Он работает нормально, пока мы не начнем другую смену с новым идентификатором, а затем любые способы оплаты, которыеиспользовались в предыдущую смену, больше не отображаются, если продажи для этого метода не происходят.То есть: если я совершу 10 продаж за наличные в эту смену, а затем начну новую смену, наличные больше не будут отображаться со значением NULL, а появятся только после того, как была совершена продажа за наличные, и для нее есть значение.Это не то поведение, которое мне нужно.
Любая помощь будет очень признательна!
Спасибо, Райан.