मुझे निम्नलिखित डीबी डिज़ाइन विरासत में मिला है। टेबल्स हैं:एसक्यूएल जॉइन, कुल मिलाकर प्राप्त करने के लिए तीन टेबल पर समूह
customers
---------
customerid
customernumber
invoices
--------
invoiceid
amount
invoicepayments
---------------
invoicepaymentid
invoiceid
paymentid
payments
--------
paymentid
customerid
amount
मेरे क्वेरी invoiceid वापस जाने के लिए की जरूरत है, चालान राशि (चालान तालिका में), और देय राशि (चालान राशि शून्य से किसी भी भुगतान कि चालान की ओर किए गए हैं) किसी दिए गए CUSTOMERNUMBER के लिए। एक ग्राहक के पास कई चालान हो सकते हैं।
निम्न क्वेरी मुझे रिकॉर्ड नकल देता है जब कई भुगतान एक चालान करने के लिए बना रहे हैं:
SELECT i.invoiceid, i.amount, i.amount - p.amount AS amountdue
FROM invoices i
LEFT JOIN invoicepayments ip ON i.invoiceid = ip.invoiceid
LEFT JOIN payments p ON ip.paymentid = p.paymentid
LEFT JOIN customers c ON p.customerid = c.customerid
WHERE c.customernumber = '100'
मैं यह कैसे हल कर सकते हैं?
एक चालान के लिए कितनी चालान भुगतान पंक्तियां मौजूद हो सकती हैं? प्रत्येक भुगतानकर्ता के लिए कितने भुगतान मौजूद हो सकते हैं? –