El problema:
Tengo una tabla que registra filas de datos en foo
. Cada vez que se actualiza la fila, se inserta una nueva fila junto con un número de revisión. La tabla se ve así:Seleccionar la versión más reciente y específica en cada grupo de registros, para múltiples grupos
id rev field
1 1 test1
2 1 fsdfs
3 1 jfds
1 2 test2
Tenga en cuenta que en la tabla, el último registro es una versión más reciente de la primera fila.
¿Alguien sabe de una manera eficiente de consultar la última versión de las filas, y una versión específica de registros? Por ejemplo, una consulta para rev=2
devolvería la 2, 3 y 4ª fila (no la 1ª fila reemplazada) mientras que una consulta para rev=1
produce esas filas con rev < = 1 y en el caso de identificadores duplicados, el que tiene la revisión más alta número es elegido (registro: 1, 2, 3).
realidad no estoy seguro de si esto es posible en SQL Server ...
no preferiría devolver el resultado de forma iterativa.
¿Qué versión de SQL Server está utilizando? –
MS SQL 2008 R2, pero idealmente me gustaría generar una consulta que no dependa de nada específico del servidor sql. – orange
¿Por qué esta pregunta está etiquetada como 'recursion' y 'rcs'? –