1
我試圖選擇所有佣金數據中的一個將向最高銷售人員支付佣金的發票。 (可以爲每張發票支付多筆佣金。)我只有佣金報告表,其中包含每個發票的每個銷售人員的佣金。簡化包含集合的嵌套子查詢
invoice_number salesperson_id commission_amt
---------------- ---------------- ----------------
1001 Bob 30.00
1002 Alison 64.50
1002 Charlie 110.25
此代碼工作正常,但我的subconcious尖叫,我不需要嵌套子選擇三深。有人能幫我理清嗎?
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
非常感謝。
斯科特
顯然你沒明白的要求,你的釘碼。這正是我想要的。非常感謝。 – Scott 2012-02-09 07:27:23
看起來你改變了關於設置這個答案正確的想法(是的,stackoverflow賣給你:P)。查詢有問題嗎? – 2012-02-10 07:02:23
不,沒有錯。你的代碼工作正常。只是想看看有沒有人在這件事上發表任何言論。我猜不會。我會提到一些SQL編碼人員可能建議將子查詢放入連接而不是where子句中。其實這就是我喜歡的方式 - 也許沒關係。再次感謝您的解決方案。 – Scott 2012-02-15 22:45:39