我有一張表,其中一張ID可以與多張帳單關聯。我需要做的是找到MAX
帳單金額,ID和最高(MAX
)帳單的日期。問題是可以有成千上萬的人,在任何給定的日期都有數百人。獲取每個患者的最高賬單
我查詢
select patientID, max(amountPaid) as maxPaid
from myTable
group by patientID
給我我需要什麼,減去日期。我試圖解決這個問題是
select t.patientID, t.maxPaid, myTable.billDate
from myTable
inner join
(
select patientid, max(amountPaid) as maxPaid
from myTable
group by patientID
) as t on t.patientID=myTable.patientID and =t.maxPaid=myTable.maxPaid
給出的錯誤是invalid column name maxPaid
。我嘗試不給計算字段一個別名,但SQL Server不會接受myTable.max(amountPaid)。解決這個問題的最快方法是什麼?提前致謝。
這取決於你的意思是「修復」。你試圖做的並不是最好的方法。儘管「快速修復」可能會很快,但我不確定這是否是一個「修復」。 – 2012-07-19 21:25:24
好吧,很高興知道爲什麼這種方式不可取,然後引導我一個更好的方法。如果我有我的druthers :) – wootscootinboogie 2012-07-19 21:26:37
你'myTable'有一個唯一的密鑰? – 2012-07-19 21:26:52