我需要一点帮助才能让这个脚本做我想做的事。
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 年,他终于足够好,可以拿到更好的价格标签。现在我需要每个员工升级列表中最新日期的答案。因此,emp A 应该给我 500,emp B 应该给我 800。现在,并非所有员工都可能有 01-01 或 04-01 的价格更新。随着时间的推移,一些员工已经进行了多达 8 次升级,我只关心最新的。
我从中提取此数据的客户端正在运行 SQL Server 2000。