Ultimo Registro ( por Fecha Hora )

09/02/2007 - 22:57 por Penta | Informe spam
Estimados.
Tengo una tabla que guarda una auditoria de otra tabla.

La estructura es la siguiente:

Nombre Tabla: Clientes_Audita
Campos:

Registro Autonumerico 1,1 -- Dato solo Referencial
Fecha_Registro Fecha-Hora --Guardo la Fecha y Hora del insert a
la tabla Clientes
Tipo_SQL varchar(30) --UPDATE o DELETE (no me interesan los
INSERT de la tabla original)
Tipo_Registro varchar(30) --(ANTIGUO NUEVO)
Nombre varchar(30) -- NOMBRE CLIENTE
Pais varchar(30) -- PAIS CLIENTE
Ciudad varchar(30) -- CIUDAD CLIENTE

- Actualmente se dispara el trigger cuando se realiza un Update o un
Delete quedando los datos asi:

Registro Fecha_Registro Tipo_SQL Tipo_Registro Nombre
Pais Ciudad
1 01/01/2007 12:50:00 UPDATE ANTIGUO CLIENTE1
EEUU CHICAGO
2 01/01/2007 12:50:00 UPDATE NUEVO CLIENTE1
EEUU MIAMI
3 01/01/2007 14:20:00 UPDATE ANTIGUO CLIENTE1
EEUU MIAMI
4 01/01/2007 14:20:00 UPDATE NUEVO CLIENTE1
EEUU BOSTON

Asi sucecivamente con los demás clientes.

Necesito realizar 2 consultas :
1.- Que entregue el ultimo registro ANTIGUO del cliente, en este caso
el registro Nº3
2.- Que entregue TODOS los registros ANTIGUO del cliente, en este caso
los registros Nº 1 y 3

Lo podria hacer mediante programa, pero quisiera saber la manera de
realizarlo sin usar cursores.

Es posible ?

Agradeceré su ayuda.
Penta
 

Leer las respuestas

#1 Ele
10/02/2007 - 00:11 | Informe spam
ya lo intentaste con este query
Select Registro,Fecha_Registro,Tipo_SQL,Tipo_Registro,Nombre,Pais,Ciudad
From Clientes_Audita a
Where Nombre Like 'CLIENTE1'
And Tipo_Registro Like 'ANTIGUO'
And Fecha_Registro = (Select Max(Fecha_Registro) From Clientes_Audita b
Where b.Tipo_Registro = a.Tipo_Registro And b.Nombre = a.Nombre)

"Penta" escribió en el mensaje
news:
Estimados.
Tengo una tabla que guarda una auditoria de otra tabla.

La estructura es la siguiente:

Nombre Tabla: Clientes_Audita
Campos:

Registro Autonumerico 1,1 -- Dato solo Referencial
Fecha_Registro Fecha-Hora --Guardo la Fecha y Hora del insert a
la tabla Clientes
Tipo_SQL varchar(30) --UPDATE o DELETE (no me interesan los
INSERT de la tabla original)
Tipo_Registro varchar(30) --(ANTIGUO NUEVO)
Nombre varchar(30) -- NOMBRE CLIENTE
Pais varchar(30) -- PAIS CLIENTE
Ciudad varchar(30) -- CIUDAD CLIENTE

- Actualmente se dispara el trigger cuando se realiza un Update o un
Delete quedando los datos asi:

Registro Fecha_Registro Tipo_SQL Tipo_Registro Nombre
Pais Ciudad
1 01/01/2007 12:50:00 UPDATE ANTIGUO CLIENTE1
EEUU CHICAGO
2 01/01/2007 12:50:00 UPDATE NUEVO CLIENTE1
EEUU MIAMI
3 01/01/2007 14:20:00 UPDATE ANTIGUO CLIENTE1
EEUU MIAMI
4 01/01/2007 14:20:00 UPDATE NUEVO CLIENTE1
EEUU BOSTON

Asi sucecivamente con los demás clientes.

Necesito realizar 2 consultas :
1.- Que entregue el ultimo registro ANTIGUO del cliente, en este caso
el registro Nº3
2.- Que entregue TODOS los registros ANTIGUO del cliente, en este caso
los registros Nº 1 y 3

Lo podria hacer mediante programa, pero quisiera saber la manera de
realizarlo sin usar cursores.

Es posible ?

Agradeceré su ayuda.
Penta

Preguntas similares