Need help with SQL Query with Inline View + Group by
670697Nov 16 2008 — edited Nov 16 2008Hello Gurus,
I would really appreciate your time and effort regarding this query. I have the following data set.
Reference_No Check_Number Check_Date Description Invoice_Number Invoice_Type Paid_Amount Vendor_Number
1234567 11223 7/5/2008 paid for cleaning 44345563 I *20.00* 19
1234567 11223 7/5/2008 Adjustment for bad quality 44345563 A -10.00 19
7654321 11223 7/5/2008 Adjustment from last billing cycle 23543556 A 50.00 19
4653456 11223 7/5/2008 paid for cleaning 35654765 I 30.00 19
I am trying to write a query to aggregate paid_amount based on Reference_No, Check_Number, Payment_Date, Invoice_Number, Invoice_Type, Vendor_Number and display description with Invoice_type 'I' when there are multiple records with the same Reference_No, Check_Number, Payment_Date, Invoice_Number, Invoice_Type, Vendor_Number. When there are no multiple records I want to display the respective Description.
The query should return the following data set
Reference_No Check_Number Payment_Date Description Invoice_Number Invoice_Type Paid_Amount Vendor_Number
1234567 11223 7/5/2008 paid for cleaning 44345563 I *10.00* 19
7654321 11223 7/5/2008 Adjustment from last billing cycle 23543556 A 50.00 19
4653456 11223 7/5/2008 paid for cleaning 35654765 I 30.00 19
The following is my query. I am kind of lost.
select B.Description, A.sequence_id,A.check_date, A.check_number, A.invoice_number, A.amount, A.vendor_number
from (
select sequence_id,check_date, check_number, invoice_number, sum(paid_amount) amount, vendor_number
from INVOICE
group by sequence_id,check_date, check_number, invoice_number, vendor_number
) A, INVOICE B
where A.sequence_id = B.sequence_id
Thanks,
Nick