私はプログラミングには初めてですヘルプ各EXE名の最高バージョンのデータを取得する必要があります。私はこれについて同じ記事を見つけましたが、私たちは異なるテーブル構造を持っているので、彼らは私の問題で私を本当に助けませんでした。
私はこのテーブルを持っている:INNER JOIN with 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
私はトンとの明確なデータを返すようにしたいです彼は最高のバージョン。私は私のコードでそれを行うことができます
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の列にあります。私が説明して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
?あなたがクロスを後でSQLのバージョンに適用されます使用することができます おかげ
テーブルを使用することができますmFormはすでに、右、各アプリケーションの最新バージョンを持っていますか? – qxg
@qxgええ、彼らは最新のバージョンを持っています –
私はなぜあなたが 'MAX'バージョンをもう一度入手しなかったのですか? – qxg