sql server - Filter Query with Conditional Sum without Grouping -
background: need modify query output invoice numbers don't balance 0 (could +/-). need output include items on invoice numbers don't balance 0 (no grouping).
so, if invoice balances, suppress output.
query:
select invoices.account, invoices.invoice_no, transact.item, transact.date_time, transact.operator, transact.salespoint, transact.extension transact inner join invoices on transact.invoice_no = invoices.invoice_no (invoices.account = '*guests*') , (transact.extension <> 0)) order invoices.invoice_no desc output:
account invoice_no item date_time operator salespoint extension test 1 **trans** 1/0/00 12:25 sunny rtl2 $(2.69) test 1 bt_diet 1/0/00 12:25 sunny rtl2 $2.69 test 2 **trans** 1/0/00 12:08 sunny rtl2 $(14.55) test 2 **trans** 1/0/00 12:08 sunny rtl2 $(1.00) test 2 quiche 1/0/00 12:08 sunny rtl2 $7.01 test 2 fruitsalad 1/0/00 12:08 sunny rtl2 $7.54 test 2 **tips** 1/0/00 12:08 sunny rtl2 $1.00 test 3 **trans** 1/0/00 12:07 sunny rtl2 $(40.67) test 3 burrito 1/0/00 12:07 sunny rtl2 $16.17 test 3 engmuffsau 1/0/00 12:07 sunny rtl2 $7.54 test 3 danish 1/0/00 12:07 sunny rtl2 $4.30 test 3 sumplyjuic 1/0/00 12:07 sunny rtl2 $6.47 test 3 sumplyjuic 1/0/00 12:07 sunny rtl2 $3.23 test 3 coffee_cup 1/0/00 12:07 sunny rtl2 $2.96 test 4 quiche 1/0/00 12:01 sunny rtl2 $7.01 test 4 danish 1/0/00 12:07 sunny rtl2 $4.30 desired output:
account invoice_no item date_time operator salespoint extension test 4 quiche 1/0/00 12:01 sunny rtl2 $7.01 test 4 danish 1/0/00 12:07 sunny rtl2 $4.30 regards, dh
;with list ( select invoices.account, invoices.invoice_no, transact.item, transact.date_time, transact.operator, transact.salespoint, transact.extension , sum(transact.salespoint) on (partition transact.item order transact.item) total transact inner join invoices on transact.invoice_no = invoices.invoice_no (invoices.account = '*guests*') , (transact.extension <> 0) ) select * list total > 0 order invoice_no desc
Comments
Post a Comment