Приветствую, All!
В процессе написания отчета для финотдела по полученным / потраченным бонусам, возник вопрос, как правильно получать скидки по позициям чеков, а конкретнее, как правильно связывать между собой таблицы
Код:
trm_out_receipt_item
и
Код:
trm_out_receipt_item_discount
для проверки наваял нижеследующее
Код:
SELECT date(rh.`date`) AS date
, store.name AS shop_name
, store.store_id
, id.id
, -1 * sum(
CASE
WHEN rh.type = 0 THEN
i.discount
ELSE
-1 * i.discount
END) AS bonuses_payment
FROM
trm_out_receipt_header rh
INNER JOIN trm_in_pos pos
ON rh.cash_id = pos.cash_id
INNER JOIN trm_in_store store
ON pos.store_id = store.store_id
INNER JOIN trm_out_receipt_item i
ON rh.id = i.receipt_header AND rh.cash_id = i.cash_id
LEFT OUTER JOIN trm_out_receipt_item_discount id
ON i.cash_id = id.cash_id AND i.id = id.id
WHERE
rh.`date` BETWEEN ? AND ?
AND i.type = 0
AND rh.type IN (0, 4)
GROUP BY
date(rh.`date`)
, store.name
, store.store_id
, id.id
ORDER BY
2
, 3
в итоге ни одной записи из таблицы скидок не подцепилось, хотя они 100% есть