Ik heb een datamodel dat er als volgt (vereenvoudigd) uit ziet:
TBL_PAYMENT_DETAILS
(hierin staan alle betalingen die aan facturen hangen, er kunnen 2 (deel)betalingen aan een factuur hangen)
TBL_INVOICES
(dit is de facturen tabel, als een (min/credit)factuur aan een andere factuur hangt, dan wordt het veld invoice_belong_to gebruikt, voor de hoofd-factuur staat dit op 0 )
Nu wil ik alle openstaande facturen bekijken.
Ik doe dus:
Bovenstaande werkt, echter telt deze er geen (min/credit) facturen bij op.
Stel nu dat ik dus een factuur van 100 EURO heb, hier wordt 80 EURO van betaald en er staat tevens een credit-factuur van 20 EURO voor (die dus met invoice_belong_to is gehangen aan het invoice_id), dan zie ik in bovenstaande query de factuur nog gewoon open staan.
Het kan zelfs voorkomen dat er een factuur aan een factuur aan een factuur hangt, ik moet dus een soort RECURSIVE query erbij optellen of aftrekken.
Ik zit er al een paar dagen naar te kijken en kom er niet meer uit...
TBL_PAYMENT_DETAILS
| payment_detail_id | (int)* |
| payment_detail_amount | (money) |
| payment_detail_invoice_id | (int) |
TBL_INVOICES
| invoice_id | (int)* |
| invoice_amount | (money) |
| invoice_belong_to | (int) |
Nu wil ik alle openstaande facturen bekijken.
Ik doe dus:
code:
1
2
3
4
5
6
7
| SELECT MIN(invoice_id)
FROM
tbl_invoices LEFT JOIN tbl_payment_details ON
tbl_invoices.invoice_id=tbl_payment_details.payment_detail_invoice_id
WHERE invoice_amount<>0
GROUP BY invoice_id
HAVING SUM(payment_detail_amount)<>MIN(invoice_amount) |
Bovenstaande werkt, echter telt deze er geen (min/credit) facturen bij op.
Stel nu dat ik dus een factuur van 100 EURO heb, hier wordt 80 EURO van betaald en er staat tevens een credit-factuur van 20 EURO voor (die dus met invoice_belong_to is gehangen aan het invoice_id), dan zie ik in bovenstaande query de factuur nog gewoon open staan.
Het kan zelfs voorkomen dat er een factuur aan een factuur aan een factuur hangt, ik moet dus een soort RECURSIVE query erbij optellen of aftrekken.
Ik zit er al een paar dagen naar te kijken en kom er niet meer uit...
[ Voor 29% gewijzigd door Roel Broersma op 26-03-2004 12:52 ]
...don't know what should be here...