У меня есть таблица sales
, у которой есть связанная таблица receipts
.
Продажа может иметь много поступлений. Если сумма чеков меньше суммы продаж, то остается остаток.
У меня есть SQL, который работает так, как я хочу. Если у меня болит голова, пытаясь выразить это красноречиво.
SELECT `sales`.`id`, `sales`.`created_at`,`sales`.`updated_at`,`sales`.`sales_date`,`sales`.`gross`, `sales`.`net_amount`,`sales`.`vat_amount`,`sales`.`vat_rate`,`sales`.`description`,
(SELECT SUM(receipt_gross_amount) as received_gross FROM `receipts` INNER JOIN `sales` WHERE `receipts`.`sales_id` = `sales`.`id`) as received
FROM `sales`
) as unsettled_invoices
WHERE unsettled_invoices.gross > COALESCE(unsettled_invoices.received,0)
Я не буду утомлять вас тем, что уже пробовал, поскольку это не имеет отношения к делу и просто заставляет php зависать и выдавать команду «kill» в команде линия ...