J'ai une requête SQL pour une table dans laquelle l'utilisateur peut créer plusieurs 'révisions' d'un formulaire. Actuellement, nous passons l'ID de la révision dans la requête pour récupérer les valeurs (comme vous pouvez probablement le deviner), ce qui est bien - mais je veux étendre pour sélectionner également les lignes de révisions précédentes (s'il s'agit d'une révision précédente). Chaque révision a un nombre qui est incrémenté quand ils créent une nouvelle révision. semble Voici ma requête à ce jour qui ne pas courir (évidemment la valeur 1, la valeur 2 sont les colonnes réelles dans ma requête)SQL - Table dérivée joignant
SELECT ID, SageJobID, SageJobPK, DateID, Revision, StatusID, Value1, Value2
FROM CVRs
LEFT OUTER JOIN (SELECT TOP(1) *
FROM CVRs AS prevCVR
WHERE (prevCVR.DateID = CVRs.DateID
AND prevCVR.SageJobPK = CVRs.SageJobPK
AND prevCVR.ID <> CVRs.ID)
ORDER BY prevCVR.Revision DESC) AS 'PrevCVR'
WHERE (CVRs.ID = @ID)
Il semble que je ne peux pas accéder à la ligne principale de CVR je sélectionne de ma part. Des idées?
Veuillez marquer votre SGBDR et votre version lorsque vous posez des questions SQL. Je suppose que SQL Server de "TOP" –