Bases de Datos > SQL Server

 Consulta A Una Tabla

<< < (4/6) > >>

JuanK:
Insisto en que lo que haces no tiene sentido, pero bueno esta es la solución si usas Oracle, sino usas oracle sera muy parecida pero deberás reemplazar la palabra ROWNUM con la que sea necesaria en la BD que usas para limitar el numero de filas de la consulta.


<!--xc1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>XCODE </td></tr><tr><td id='XCODE'><!--exc1-->SELECT con1.*, (SELECT b.observacion
                FROM   backuppdv b
                WHERE  a.idpdv = b.idpdv
                AND    ROWNUM = 1) AS observacion
FROM   (SELECT   idpdv, MAX (fechabackup)
        FROM     backuppdv a
        GROUP BY a.idpdv
        ORDER BY a.idpdv) con1<!--xc2--></td></tr></table><div class='postcolor'><!--exc2-->

A_LEX:

--- Citar --- va queriendo, pero...
Funciona bien si tengo fechas diferentes, pero si tengo muchas fechas iguales en la tabla, ya me empieza a tirar mas de un registro de cada tipo.
Copio nuevamente la consulta con los nombres de campo verdaderos, asi resulta mas facil probarla.
--- Fin de la cita ---


Pues eso cambia el esquema que interpreté de los datos originales que presentaste.

¿Alguna otro dato o condición que estes omitiendo?

Saludos.

Dieguinho.:
Creo que no. Igual lo pongo de nuevo por las dudas.
La tabla (BackupPDV) seria asi.


--- Código: Text --- Nombre de columna         Tipo de dato    LongitudIdPDV                              nvarchar           3FechaBackup                    datetime            8Observacion                     nvarchar            50  
y este seria un ejemplo de algunos datos:

--- Código: Text ---   I30  01/10/2005  OK  I45  01/12/2006  OK  I45  01/01/2007  OK  I45  02/01/2007  OK  I45  03/01/2007  OK  I90  05/01/2007  OK  I30  29/01/2007  Muy bien  I30  29/01/2007  Muy bien  905  05/01/2007  OK  911  05/01/2007  OK  917  05/01/2007  OK  918  05/01/2007  OK  926  05/01/2007  OK  974  05/01/2007  OK  975  01/01/2006  OK  I76  20/01/2007  OK  I77  20/01/2007  OK  I80  14/01/2007  OK  I85  22/01/2007  OK  I10  29/01/2007  Backup ok  I15  29/01/2007  Backup ok  I16  29/01/2007  Backup ok  I30  29/01/2007  Muy bien  
Y lo que necesitaba era de estos datos traer unicamente 1 registro por IdPDV junto con su fecha (que sea el de fecha mas actual) y el campo observacion. Ordenado por IdPDV

Creo que ahi no me falto mas nada explicar.

Llegado el caso que no haya ninguna consulta que lo resuelva hago dos tablas y cada vez que ingrese un registro lo pongo en una tabla y el que estaba, que ya seria viejo lo paso a otra donde los acumulo y listo. No se, otra cosa no se me ocurre.
Que opinan?

JuanK:
la consulta que te puse lo resuelve 100% desde que sepas cual es el equivalente a la palabra clave RowNum en la bd que usas.

ElNapster:
JuanK, en Oracle cual es la funcion del  RowNum ?

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa