Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Query complicado

Estas en el tema de Query complicado en el foro de Bases de Datos General en Foros del Web. Hola a todos, Necesito que me echeis una mano con un query que hasta ahora encuentro imposible de hacer. Os explico: Tengo 3 tablas: Table ...
  #1 (permalink)  
Antiguo 07/06/2006, 04:50
 
Fecha de Ingreso: julio-2003
Ubicación: Sevilla
Mensajes: 86
Antigüedad: 21 años, 4 meses
Puntos: 0
Query complicado

Hola a todos,

Necesito que me echeis una mano con un query que hasta ahora encuentro imposible de hacer. Os explico:

Tengo 3 tablas:

Table PIR:
UPRN (varchar) foreignkey
date_cert (datetime)

Table VER:
UPRN (varchar) foreignkey
date_cert (datetime)

Table Address_Details:
UPRN (varchar) primary key
date_cert (datetime)


Necesito todos los registros de las tablas PIR y VER tales que sean los mas recientes (date_cert mas actual) de todos los que tienen el mismo UPRN.

Ejemplo:
======

PIR:
UPRN = 2 date_cert= 15/02/2005
UPRN = 2 date_cert= 14/02/2004
UPRN = 3 date_cert= 14/02/2005

VER:
UPRN = 4 date_cert= 15/02/2005
UPRN = 4 date_cert= 14/02/2004

Deberia obtener como resultado:
UPRN = 2 date_cert= 15/02/2005
UPRN = 3 date_cert= 14/02/2005
UPRN = 4 date_cert= 15/02/2005

Agradecer'ia enormemente vuestra ayuda.
Gracias por adelantado
__________________
"Quiero saber de todo.....y no se nada"
  #2 (permalink)  
Antiguo 07/06/2006, 05:47
Avatar de Worp9975  
Fecha de Ingreso: mayo-2006
Ubicación: LV-426
Mensajes: 203
Antigüedad: 18 años, 6 meses
Puntos: 1
Si entendí correctamente, podrías obtenerlo con eta consulta:

Código:
 
select pir.uprn , min(date_cert)
from pir, ver 
where pir.uprn = ver.uprn 
group by pir.uprn
Estoy suponiendo que UPRN es el campo de unión entre PIR y VER .
  #3 (permalink)  
Antiguo 07/06/2006, 07:00
 
Fecha de Ingreso: julio-2003
Ubicación: Sevilla
Mensajes: 86
Antigüedad: 21 años, 4 meses
Puntos: 0
Lamento la confusion.
No hay ningun campo de union en ambas tablas, de hecho no hay ninguna relacion entre ellas. Quiero los registros con date_cert mas reciente y el mismo uprn de cada tabla.

Muchas gracias de todos modos

Saludos
__________________
"Quiero saber de todo.....y no se nada"
  #4 (permalink)  
Antiguo 07/06/2006, 09:35
Avatar de Worp9975  
Fecha de Ingreso: mayo-2006
Ubicación: LV-426
Mensajes: 203
Antigüedad: 18 años, 6 meses
Puntos: 1
Cita:
Iniciado por kaslimon
Lamento la confusion.
No hay ningun campo de union en ambas tablas, de hecho no hay ninguna relacion entre ellas. Quiero los registros con date_cert mas reciente y el mismo uprn de cada tabla.

Muchas gracias de todos modos

Saludos
Entonces tu quieres insertar en Address_Details el resultado de sacar de PIR y de VER cada URPN con su fecha más reciente.

Código:
 
select UPRN , min(date_cert )
from PIR
group by UPRN
UNION
select UPRN , min(date_cert )
from VER
group by UPRN
La consulta anterior no sacara valores duplicados en el caso de que se repita alguno . Si quieres que te salgan to2, incluso los repetidos, cambias UNION por UNION ALL

Si ya de paso quieres insertarlo en tu tabla Address_Details :

Código:
 
insert into Address_Details 
(
 select UPRN , min(date_cert )
 from PIR
 group by UPRN
 UNION
 select UPRN , min(date_cert )
 from VER
 group by UPRN
)
Espero que hayamos acertado esta vez ejej ,-D

Salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:06.