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

Mostrar ultimo registro de dos tablas enlazadas

Estas en el tema de Mostrar ultimo registro de dos tablas enlazadas en el foro de Bases de Datos General en Foros del Web. Hola buenas noches, de nuevo me encuentro en el foro solicitando la ayuda de todos los participantes, mi problema es el siguiente: Tengo dos tablas ...
  #1 (permalink)  
Antiguo 06/02/2010, 00:09
 
Fecha de Ingreso: febrero-2009
Mensajes: 32
Antigüedad: 15 años, 9 meses
Puntos: 0
Mostrar ultimo registro de dos tablas enlazadas

Hola buenas noches, de nuevo me encuentro en el foro solicitando la ayuda de todos los participantes, mi problema es el siguiente:

Tengo dos tablas enlazadas en una base de datos de las cuales necesito que me muestre un campo del ultimo registro quisiera saber si esto es posible, la consulta es la siguiente:


Cita:
SELECT incapacidad.incap_id, incapacidad.motivo, incapacidad.horas, incapacidad.fecha, personal.gafet, personal.nombre, personal.apellidos
FROM personal LEFT JOIN incapacidad ON personal.id=incapacidad.id
WHERE personal.id=colname
ORDER BY incapacidad.fecha DESC LIMIT 1,1
como podran observar estas dos tablas estan enlazadas, pero solo quiero que me muestre el ultimo registro enlzado de las dos tablas, mas claro seria quiero saber la ultima vez que se incapacito la persona seleccionada.


por la atencion muchas gracias espero obtener una respuesta si esto es posible
  #2 (permalink)  
Antiguo 06/02/2010, 06:33
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Mostrar ultimo registro de dos tablas enlazadas

La mas simple es algo obvia: Inviertes el orden temporal y tomas el primero, o bien tomas el ID mayor de la tabla que almacena el dato bsucado... Sino, deberías saber primero cuántos registros hay.
Ahora bien, eso es exactamente lo que estás haciendo, entonces ¿cuál es el problema?
Código MySQL:
Ver original
  1.     I.incap_id,
  2.     I.motivo,
  3.     I.horas,
  4.     I.fecha,
  5.     P.gafet,
  6.     P.nombre,
  7.     P.apellidos
  8. FROM personal P LEFT JOIN incapacidad I ON P.id = I.id
  9. WHERE P.id=colname
  10. ORDER BY I.fecha DESC
  11. LIMIT 1,1;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 06/02/2010, 12:01
 
Fecha de Ingreso: febrero-2009
Mensajes: 32
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Mostrar ultimo registro de dos tablas enlazadas

El problema que me manda el siguiente error ya lo habia intentado como me lo explicas pero en la pagina de resultado me muestra esto:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 0, 10' at line 1

te menciono que te tengo el Apache 2.2.11, PHP/5.2.8, MYSQL 5.1.30, PHPMYADMIN 3.1.1.
  #4 (permalink)  
Antiguo 07/02/2010, 15:53
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: Mostrar ultimo registro de dos tablas enlazadas

La propuesta de gnzsoloyo tendría que funcionar. Yo usaría INNER JOIN en lugar de LEFT JOIN como tú habías hecho. Lo otro sospechoso es el colname, imagino que pondrás el número del id. Yo te he puesto el 5. Pero, como te digo, debería funcionar lo que te propusieron. Revisa los nombres de los campos...
Además, pareces estar añadiendo dos veces LIMIT. Si usas LIMIT 1,1 como te propuesieron, ¿por qué el error te devuelve LIMIT 0, 10?
Código SQL:
Ver original
  1. SELECT
  2.     I.incap_id,
  3.     I.motivo,
  4.     I.horas,
  5.     I.fecha,
  6.     P.gafet,
  7.     P.nombre,
  8.     P.apellidos
  9. FROM personal P INNER JOIN incapacidad I ON P.id = I.id
  10. WHERE P.id=5
  11. ORDER BY I.fecha DESC
  12. LIMIT 1,1;

Última edición por jurena; 07/02/2010 a las 16:01
  #5 (permalink)  
Antiguo 07/02/2010, 19:09
 
Fecha de Ingreso: febrero-2009
Mensajes: 32
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Mostrar ultimo registro de dos tablas enlazadas

Bueno quiero agradecerles por la atencion y ayuda que me dieron exactamente como ustedes me lo indicaron pude resolver el error lo unico que me tenia un poco cruzado en este punto es el LIMIT 1,1 puesto que con esta condicion que me mostraba el penultimo registro quite el ultimo 1 y ya me mostro el ultimo registro y ademas del error de sintaxis que me mandaba era un repetir region que al quitarlo lo quedo perfectamente como queria que me lo mostrara.

Grandes cosas he aprendido en este foro espero ser util tambien yo asi como ustedes me ha ayudado nuevamente mil gracias y estaremos pendientes.

Etiquetas: dos, registro, tablas, ultimo
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 15:31.