SQL - Consulta Entre Dos Tablas, Sacar el reg con mayor

 
Vista:

Consulta Entre Dos Tablas, Sacar el reg con mayor

Publicado por Diego (2 intervenciones) el 21/09/2007 19:09:08
Hola, bueno tengo una consulta que pense que iba a ser facil pero la realidad que no me salio.
El asunto es el siguiente.
Voy a poner datos reales que tiene mi tabla, quiza queda mas claro para el que me pueda ayudar.
Una tabla se llama PDV (punto de venta), vendria a ser algo asi como sucursales. Y los datos que me sirven de ahi son:
Tabla PDV
IdPDV Nombre
902 NombrePDV902
905 NombrePDV905

... y asi son 28 registros (o sucursales) en total.

Por otro lado tengo otra tabla que se llama BackupPDV en donde se lleva un registro de cuando envió cada sucursal el backup hacia la oficina central.

Tabla BackupPDV
Id IdPDV FechaBackup FechaIngreso Observacion
2 911 2000-07-15 00:00:00 2007-07-15 00:00:00 ok
3 917 2000-07-15 00:00:00 2007-07-15 00:00:00 ok
4 926 2007-07-15 00:00:00 2007-07-15 00:00:00 ok
5 I15 2000-07-15 00:00:00 2007-07-15 00:00:00 ok
6 I20 2007-07-15 00:00:00 2007-07-15 00:00:00 ok
8 I40 2007-07-15 00:00:00 2007-07-15 00:00:00 ok
9 I50 2000-07-15 00:00:00 2007-07-15 00:00:00 ok

... puede que algun PDV todavia no haya enviado nada aun.

Y la aplicacion tiene que mostrar en una grilla en la pantalla principal los 28 PDV distintos y el ultimo backup enviado por cada uno. (cada fila tiene que mostrar el pdv la fecha de ultimo backup y la observacion)
Si alguno no envio nada mostrar el nombre del pdv y los demas campos vacios o null.

Actualmente, y para salir del paso, a la tabla backupPDV le agregue un campo mas que indica si es el ultimo backup (1 o 0). Cada vez que se ingresa un nuevo registro
se ingresa con el valor 1 y al que tenia 1 se le pone un 0. Pero esto me esta trayendo algunos problemas.

Bueno espero que alguno me pueda dar una manos.
Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consulta Entre Dos Tablas, Sacar el reg con may

Publicado por Monica Rivera (5 intervenciones) el 21/09/2007 19:57:33
Hola,
No creo que necesites el ultimo campo que añadiste. Lo que puedes hacer es agrupar la segunda tabla para que te muestre solo el ultimo backup de esta forma:
select IdPDV,Observacion,max(FechaIngreso) as FechaIngreso FROM BackupPDV
group by IdPDV,Observacion

y hacer un join a esta tabla desde tu tabla PDV:

SELECT a.IdPDV, a.Nombre, b.Observacion,b.FechaIngreso
FROM PDV a LEFT JOIN
(select IdPDV,Observacion,max(FechaIngreso) as FechaIngreso FROM BackupPDV
group by IdPDV,Observacion) b

como deseas ver NULLs si no hay nada, necesitas un LEFT JOIN alli.

No lo he probado, asi que puede tener problemas de sintaxis.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta Entre Dos Tablas, Sacar el reg con may

Publicado por Diego (2 intervenciones) el 26/09/2007 15:14:01
antes que nada gracias por la ayuda, pero sabes que la consulta esa que me dijiste
SELECT IdPDV,Observacion,max(FechaIngreso) as FechaIngreso
FROM BackupPDV
GROUP BY IdPDV,Observacion
no me trae los ultimos backup en esa tabla, me trae mas. Estoy viendo como hacer la consulta a esa tabla pero todavia no doy con la solucion, ojala se te ocurra algo!!

saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar