I’m trying to select all commission data for one of the invoice that will pay commissions to the highest number of sales people. (Multiple commissions can be paid for each invoice.) I have only the CommissionReport table, which contains commissions for each sales person for each invoice.
invoice_number salesperson_id commission_amt
---------------- ---------------- ----------------
1001 Bob 30.00
1002 Alison 64.50
1002 Charlie 110.25
This code works fine, but my subconcious is screaming that I don’t need to nest subselects three deep. Can someone please straighten me out?
select
invoice_number,
salespeson_id,
commission_amt
from
CommissionReport CR
join
( select top 1 invoice_number
from CommissionReport CR2
group by CR2.invoice_number
having count(*) =
( select max(CR3.cnt)
from
( select invoice_number,
cnt = count(*)
from CommissionReport CR4
group by invoice_number
) CR3
)
) CR2 on CR2.invoice_number = CR.invoice_number
Thanks very much in advance.
Scott
I didn’t understand the requirements and this is my first query in Mssql… but check if this works: