Cela concerne une autre question que j'ai posée précédemment. Vous pouvez avoir une meilleure compréhension de cela si vous le numérisez rapidement. Version Numbers float, decimal or doubleSélection du nombre maximal de versions à partir de deux colonnes
J'ai deux colonnes et un étranger dans une table de base de données. Une colonne [Version] et une colonne [Revision]. Ceux-ci sont en relation avec les numéros de version. par exemple. Version 1, Révision 2 = v1.2
Ce que je dois faire est de saisir le numéro de version maximum pour une clé étrangère particulière.
Voici ce que j'ai jusqu'à présent:
SELECT f.[pkFileID]
,x.[fkDocumentHeaderID]
,f.[fkDocumentID]
,x.[Version]
,x.[Revision]
,f.[FileURL]
,f.[UploadedBy]
,f.[UploadedDate]
FROM
(
SELECT
docs.[fkDocumentHeaderID]
,MAX([Version]) AS Version
,MAX([Revision]) AS Revision
FROM
[ClinicalGuidanceV2].[dbo].[tbl_DocumentFiles]
INNER JOIN
dbo.tbl_Documents docs ON [fkDocumentID] = [pkDocumentID]
GROUP BY
docs.[fkDocumentHeaderID]
)
AS x
INNER JOIN
dbo.tbl_DocumentFiles f ON
f.[fkDocumentHeaderID] = x.[fkDocumentHeaderID] AND
f.[Version] = x.[Version] AND
f.[Revision] = x.[Revision]
En fait saisir le maximum et rejoindre à lui-même. Cela ne fonctionne pas parce que si j'ai les numéros de version 1.1
, 1.2
et 2.0
la valeur maximale que je reviens de la requête ci-dessus est 2.2
(qui n'existe pas). Ce que je dois faire (je pense) est de sélectionner le maximum [Version], puis sélectionner le maximum [Révision] pour cela [Version] mais je n'arrive pas à comprendre comment faire cela.
Toute aide, suggestion, question sont les bienvenues.
Merci.
Fonctionne parfaitement, merci. – Jamie