SELECT con MAX

09/02/2004 - 12:35 por Alfonso Lucas Carbonell | Informe spam
Hola grupo, tengo un pequeño problema, y como no le saco solución ni con la
ayuda, os pregunto en general a todos.

Tengo una tabla con 200.000 registros mas o menos que tengo que cargar
semanalmente, pero desde el servidor de extracción, no me lo quieren extraer
de otra manera, o sea que tengo en esta tabla mas datos de los que
necesito.
Os cuento:

Es una tabla en la que tengo un fichero de matriculas de coche(MATRICULA),
con su numero de poliza(NPOL) y la fecha de efecto(FEFE) y movimiento(MOV) y
causa de movimiento(CAMO).

Yo solo necesito cargar el ultimo estado de la matricula, es decir que puedo
tener una matricula con distintos numeros de poliza, con distitas fechas de
efecto.

Lo he precargado en una tabla y ahora lo que quiero es hacer la select con
el ultimo estado y cargarlo en la tabla buena, pero no se como hacerlo, os
pongo el ejemplo:

SELECT MATRICULA,MAX(FEFE) AS FECHA FROM PREMATRICULAS
GROUP BY MATRICULA

Esta select es perfecta, pero me faltan los demas campos, si le meto los
demas campos, ya los tengo que agregar al group by y ya no me devuelve el
numero real de matriculas en su ultimo movimiento.

Lo ideal seria:
SELECT MAX(FEFE) AS FECHA,MATRICULA, CAMO, MOV,NPOL
FROM PREMATRICULAS
GROUP BY MATRICULA
pero falla, necesito los dos datos de la consulta anterios, mas los que
correnponden a ese registro que me devuelve.

Muchas gracias a todos.









____________________________________________________________________________
________________________

Este mensaje se envía desde Ges Seguros y Reaseguros S.A., está protegido
por la ley y puede contener secretos de empresa. Si lo recibiera por
error, por favor notifíquelo respondiendo al mensaje y bórrelo de su
sistema. Por favor, no lo copie o use para cualquier propósito o comunique a
otras personas, si lo hiciese supondría ruptura de confidencialidad, esto
podría suponer una seria infracción legal, civil y penalmente perseguida en
España y otros países. Gracias por su colaboración. Tel . 34 902 308 585

This e-mail is confidential and may well also be legally privileged. If you
have received it in error, you are on notice of its status. Please notify
immediately by reply e-mail and then delete this message from your
system. Please do not copy it or use it for any purposes, or disclose its
contents to any other person: to do so could be a breach of confidence.
Breach of confidentiality

Preguntas similare

Leer las respuestas

#1 Jordi Del Hoyo Martin
09/02/2004 - 13:43 | Informe spam
Has mirado la clausula TOP


"Alfonso Lucas Carbonell" escribió en el mensaje
news:%
Mostrar la cita
la
Mostrar la cita
extraer
Mostrar la cita
y
Mostrar la cita
puedo
Mostrar la cita
de
Mostrar la cita
____________________________________________________________________________
Mostrar la cita
a
Mostrar la cita
en
Mostrar la cita
you
Mostrar la cita
#2 Javier Loria
09/02/2004 - 13:45 | Informe spam
Hola Alfonso:
Prueba con algo como esto a ver si te funciona y no es demasiado lento:
== SELECT Prematriculas.Fecha,
Prematriculas.Matricula,
Prematriculas.Camo,
Prematriculas.Mov,
Prematriculas.Nol
FROM Prematriculas
JOIN (SELECT Matricula,MAX(Fefe) AS Fecha
FROM PreMatriculas
GROUP BY Matricula) AS P1
ON Prematriculas.Fecha=P1.Fecha
AND Prematriculas.Matricula=P1.Matricula
== Esto asumiendo que NO hay 2 PreMatriculas con el mismo numero de
Matricula para la misma fecha.(Fecha/Matricula es UNIQUE).
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Alfonso Lucas Carbonell escribio:
Mostrar la cita
#3 Alfonso Lucas Carbonell
09/02/2004 - 16:08 | Informe spam
y que consigo con eso? si solo me sirve para sacar las X filas primera de la
ordenación.
y yo no se cuantas hay.


"Jordi Del Hoyo Martin" escribió en el
mensaje news:
Mostrar la cita
coche(MATRICULA),
Mostrar la cita
movimiento(MOV)
Mostrar la cita
con
Mostrar la cita
os
Mostrar la cita
el
Mostrar la cita
____________________________________________________________________________
Mostrar la cita
protegido
Mostrar la cita
comunique
Mostrar la cita
esto
Mostrar la cita
585
Mostrar la cita
notify
Mostrar la cita
its
Mostrar la cita
#4 Alfonso Lucas Carbonell
09/02/2004 - 16:08 | Informe spam
Me repite las filas y no se por que, la verdad, es que no creo que tenga que
ser tan dificil.

De todas formas, muchas gracias.

"Javier Loria" escribió en el mensaje
news:#
Mostrar la cita
lento:
Mostrar la cita
#5 ulises
09/02/2004 - 17:53 | Informe spam
Con permiso de Javier, te debería funcionar a menos que
estes usando "LEFT JOIN" en lugar de "JOIN" (a secas), en
el primer caso te estaría repitiendo las filas y sería
necesario incluir la sentencia "WHERE P1.Fecha <> NULL";
claro que esta sentencia es menos eficiente que la
indicada por Javier.

Saludos,
Ulises

Mostrar la cita
creo que tenga que
Mostrar la cita
es demasiado
Mostrar la cita
Prematriculas.Matricula=P1.Matricula
Mostrar la cita
mismo numero de
Mostrar la cita
UNIQUE).
Mostrar la cita
saco solución ni
Mostrar la cita
tengo que cargar
Mostrar la cita
no me lo quieren
Mostrar la cita
tabla mas datos de
Mostrar la cita
de
Mostrar la cita
fecha de
Mostrar la cita
(CAMO).
Mostrar la cita
matricula, es decir
Mostrar la cita
de poliza, con
Mostrar la cita
es hacer la
Mostrar la cita
buena, pero no se
Mostrar la cita
PREMATRICULAS
Mostrar la cita
campos, si le meto
Mostrar la cita
by y ya no me
Mostrar la cita
movimiento.
Mostrar la cita
anterios, mas los
Mostrar la cita
Ads by Google
Search Busqueda sugerida