[ОТВЕТИТЬ]
Опции темы
15.03.2013 13:47  
CrazyWolf
Приветствую, 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% есть
 
15.03.2013 15:32  
vdm
Как там бонусы хранятся не интересовался, но в приведенном коде ошибка

Код:
LEFT OUTER JOIN trm_out_receipt_item_discount id
ON i.cash_id = id.cash_id AND i.id = id.RECEIPT_ITEM
Если структуру смотрел по древней доке БД v44, то там ошибки есть, в частности trm_out_receipt_item_discount.RECEIPT_ITEM обозван "кодом товара"
 
"Спасибо" vdm от:
 
Опции темы



Часовой пояс GMT +3, время: 07:06.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.