帮助我是编程新手,我需要获取每个EXE名称的最高版本数据。我发现了同样的文章,但我们有不同的表格结构,所以他们没有真正帮我解决我的问题。
我有这个表:INNER JOIN MAX函数
表mForm
FormID FormName EXEname CurrentVersion
--------------------------------------------------------
BTC-01 CASH REVIEW BTC-01.EXE 1.0.2.5
BTC-02 CASH REQUEST BTC-02.EXE 1.1.2.4
BTC-03 PAYMENTS BTC-03.EXE 1.0.0.3
表mVersionHistory
EXEname FormName Version ReleasedDate ReleaseDescription
-----------------------------------------------------------------------------
BTC-01.EXE CASH REVIEW 1.0.2.5 08-08-16 IT REQ 10063
BTC-01.EXE CASH REVIEW 1.0.2.4 08-08-10 IT REQ 10051
BTC-01.EXE CASH REVIEW 1.0.2.3 08-08-09 IT REQ 10050
BTC-02.EXE CASH REQUEST 1.1.2.4 08-08-13 IT REQ 10003
BTC-02.EXE CASH REQUEST 1.1.2.0 08-08-10 IT REQ 10002
BTC-03.EXE PAYMENTS 1.0.0.2 08-08-07 IT REQ 10102
BTC-03.EXE PAYMENTS 1.0.0.1 08-08-06 IT REQ 10092
我想回到与T不同的数据他是最高版本。 这样的:
EXEname FormName CurrentVersion Version ReleasedDate ReleaseDescription
----------------------------------------------------------------------------------------------
BTC-01.EXE CASH REVIEW 1.0.2.5 1.0.2.5 08-08-16 IT REQ 10063
BTC-02.EXE CASH REQUEST 1.1.2.4 1.1.2.4 08-08-13 IT REQ 10003
BTC-03.EXE PAYMENTS 1.0.0.3 1.0.0.2 08-08-07 IT REQ 10102
我可以用我的代码做到这一点,但问题是,我不能添加描述和RELEASEDATE列,每次我加入他们的时候,所有的数据将显示出来,因为他们有不同的数据在Description和ReleaseDate列中。
SELECT
A.FormID [FORM ID]
, A.FormName [FORM NAME]
, A.ExeName [EXE NAME]
, A.CurrentVersion [CURRENT VERSION]
, B.RVersion AS [RELEASED VERSION]
FROM
mForm A
INNER JOIN
(SELECT Exename, MAX(Version) AS RVersion
FROM mVersionHistory
GROUP BY ExeName) B
ON A.ExeName = B.ExeName
GROUP BY A.FormID, B.FormName, A.CurrentVersion, B.RVersion, A.ExeName
我应该在哪里添加描述和RELEASEDATE列? 感谢
表mForm已经有最新版本的每个应用程序的,对不对? – qxg
@qxg是的,他们有最新版本 –
然后,我没有得到你为什么'MAX'版本了。 – qxg