我有两个表 History 和 Historyvalues:
历史
HID(uniqeidentifier) | Version(int)
a1 | 1
a2 | 2
a3 | 3
a4 | 4
历史价值
HVID(uniqeidentifier) | HID(uniqeidentifier) | ControlID(uniqeidentifier) | Value(string)
b1 | a1 | c1 | value1
b2 | a2 | c1 | value2
b3 | a2 | c2 | value3
现在我需要一个查询,我可以在其中获取一个列表,其中包含来自特定版本的每个控件的最后一个历史值,例如:
从版本 3 中获取最后的值 -> 接收 ->
HVID | ControlID | Value
b2 | c1 | value2
b3 | c2 | value3
我试过这样的事情:
Select HVID, ControlId, max(Version), Value from
(
Select HVID, ControlId, Version, Value
from History inner JOIN
Historyvalues ON History.HID = Historyvalues.HID
where Version <= 3
) as a
group by ControlId
order by Version desc
但这不起作用。
有什么想法吗?
非常感谢您的帮助。
此致