0

私はmysqlに次のテーブルを持っています:

salesinvoices (請求書番号、ledgerid、日付付き)

salesinvoiceitems (請求書番号付き)

支払い(請求書番号、レジャー ID、日付付き)

ここで、課税などの計算 (テーブルに含まれる列) を使用して、特定のレジャー ID の特定の送り状番号に対して salesinvoiceitems テーブルから合計金額を計算する必要があります。

次に、特定の請求書の日付ごとに行われたすべての支払いの記録を保持する支払いテーブルがあります。このテーブルには、請求書番号と台帳 ID も含まれています。

最終残高を示す特定のレジャー ID のレポートを生成する必要があります。私はそのようなクエリについて無知です。光を当ててください。

4

1 に答える 1

0

salesinvoiceitems テーブルには「金額」フィールドがあり、請求書ごとの商品金額の合計を計算できると思います。以下の例では、その列を「item_amt」と呼んでいます。このようなことを試してみることができます....

select ledgerid , sum(balance) as total_balance
from 
-- sub query to calculate balance per invoice and ledgerid
(
select distinct 
 invoices.invoice_number, 
 invoices.ledgerid, 
 tot_item_amt, 
 tot_payment_amt, 
 (tot_item_amt - tot_payment_amt) as balance
from salesinvoices as invoices
-- sub query to get the sum of all the items on an invoice
inner join (select invoice_number, sum(item_amt) as tot_item_amt from salesinvoiceitems group by invoice_number) as items on invoices.invoice_number = items.invoice_number
-- sub query to get the sum of all the payments made against an invoice
inner join (select invoice_number, sum(payment_amt) as tot_payment_amt from payments group by invoice_number) as payments on invoices.invoice_number = payments.invoice_number
) t
-- sum balance and group by ledgerid
group by ledgerid 
于 2013-05-29T18:23:55.893 に答える