我需要一點幫助讓這個腳本做我想做的。需要一點幫助,SQL Server 2000,擁有和最大(日期)
SELECT KM.initials,
TPL.debprice,
TMP.pricegroup,
TMP.date
FROM klientmedarbejder KM
INNER JOIN timeprismedarbejderprisgruppe TMP
ON KM.employeeno = TMP.employeeno
INNER JOIN timeprisprisgruppelinie TPL
ON TMP.pricegroup = TPL.pricegroup
GROUP BY KM.initials,
TMP.date,
TPL.debprice,
TMP.pricegroup,
TPL.date
HAVING (Max(TMP.dato) = TPL.date)
我需要的是最新(最大)日期的debPrice。一名員工經歷了他的職業生涯,偶爾他的價格也會提升。價格從一組價格中選擇。
KlientMedarbejder
是員工表。TimeprisMedarbejderPrisgruppe
是他的記錄升級到新價格的日期列表。TimeprisPrisgruppeLinie
是您可以擁有的價格清單。
我有解決方案,每個員工有2個選項。因此:
emp A - 300 - 9 - 1900-01-01
emp A - 500 - 4 - 2012-01-01
emp B - 400 - 6 - 1900-01-01
emp B - 800 - 8 - 2012-04-01
因此,每當他加入公司時,第一條記錄就是默認值。在2012年,他終於足夠好了,以獲得更好的價格標籤。現在我需要在每個員工的升級列表上找到最新日期的答案。因此,僱員甲應該給我500,僱主乙應該給我800.現在不是所有的僱員可能已經有01-01或04-01價格更新。一些員工隨着時間的推移最多有8次升級,我只關心最新的。
客戶我是從這個拉數據運行的是SQL Server 2000中
您忘記了內聯視圖中的group by子句。 –
感謝@ConradFrix。就像我說的,僞代碼。 :-) –
Thanx,給了我最後一次推動我需要的。非常感激。 – DoStuffZ