Мне поставили задачу вывести список распечатанных суммовых купонов, за нужный период времени по нужному магазину.
"OUTER JOIN receipt_discount_coupons" использовал в одном из вариантов запроса, чтобы разобраться, какие строки receipt_discounts не имеют данных в receipt_discount_coupons.
Текущий запрос:
SQL код:
SELECT r.store, r.cash_number, r.local_number, r.shift_open, r.date, rd.name, rdc.amount,
CASE WHEN EXISTS (SELECT 1 FROM receipt_discount_coupons_accept ca WHERE ca.`number` = rdc.`number`) THEN 'погашен'
ELSE NULL
END ACCEPTED
FROM receipt r
JOIN receipt_discounts rd ON (r.cash_id = rd.cash_id AND r.id = rd.receipt_header)
JOIN receipt_discount_coupons rdc ON (rd.`cash_id` = rdc.`cash_id` AND rd.id = rdc.receipt_discount)
WHERE r.date BETWEEN '2021-02-01' AND '2021-02-29'
ORDER BY r.store, r.cash_number, r.date
По названию колонок вроде в основном понято, что это: магазин, касса, номер чека(внутри смены), номер смены (как писал ранее, не совпадает с номером, выводимым в web), дата/время, название купона, его сумма и статус "погашен/не погашен".