Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/09/2011, 04:47
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consulta para tablas relacionadas

Primero: No uses palabras reservadas en el nombre de las bases, tablas o columnas. Tienden a producir resultados erróneos o generar falsos errores de sintaxis. "timestamp" como nombre de campo es una mala idea poeso: TIMESTAMP es un tipo de dato y si lo usas como nombre, el MySQL puede confundirse.

Segundo, lo único que necesitas es usar una de tres opciones:
- agrupar por un orden definido.
- agrupar pidiendo el maximo de ese campo.
- agrupar luego de ordenar
Código MySQL:
Ver original
  1. SELECT id, nombre, edad, sexo, `timestamp` FechaYHora, temperatura, oximetro, presion
  2. FROM pacientes P INER JOIN datos D ON P.id = D.paciente
  3. GROUP BY P.id ASC, D.`timestamp`DESC;
Código MySQL:
Ver original
  1. SELECT id, nombre, edad, sexo, MAX(`timestamp`) FechaYHora, temperatura, oximetro, presion
  2. FROM pacientes P INER JOIN datos D ON P.id = D.paciente
Código MySQL:
Ver original
  1.   (SELECT id, nombre, edad, sexo, `timestamp` FechaYHora, temperatura, oximetro, presion
  2.   FROM pacientes P INER JOIN datos D ON P.id = D.paciente
  3.   ORDER BY P.id ASC, D.`timestamp`DESC)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)