![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
Ayuda con consulta
Hola a todos,
Tengo dos tablas, EMPLEADOS e HISTORICO. En la tabla HISTORICO puede haber varios registros por cada registro de la tabla EMPLEADOS relacionados por EMPLEADOS.ID, HISTORICO.IDEMPLEADO. Necesito hacer una consulta sobre todos los campos de la tabla EMPLEADOS y sólo sobre el último insertado en la tabla HISTORICO, el último en la tabla histórico sería el mayor HISTORICO.ID, he intentado algo así pero lógicamente no funciona SELECT TOP 1 * FROM EMPLEADOS LEFT JOIN HISTORICO ON EMPLEADOS.ID=HISTORICO.EMPLEADOS WHERE EMPLEADOS.NOMBRE='alberto' Muchas gracias, Un saludo. Alberto. |
|
#2
|
||||
|
||||
|
Porque no funciona?
Y si haces un order by historico.id desc sigue sin funcionar?
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#3
|
|||
|
|||
|
Hola, gracias por responder,
Funciona para devolver sólo una fila, pero si pongo como condición por ejemplo EMPLEADOS.SEXO='M' necesito que me devuelva un resultado por cada registro de EMPLEADOS y sólo me devuelve un registro. Gracias, un saludo. |
|
#4
|
||||
|
||||
|
ahhh....
proba con una subconsulta Código:
Select e.nombre, e.apellidos, h.monto_pago
from empleados e left join historico h
on e.id = h.idempleado
where h.id = (select max(h2.id)
from historico h2
where h2.idempleado = e.id)
Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#5
|
|||
|
|||
|
Funciona perfectamente, muchas gracias...
Un saludo. |
![]() |
|
|
|