Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/07/2014, 07:54
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: 17 años
Puntos: 2658
Respuesta: Tomar el maximo entre varios resultados

Vamos a aclarar una cosa: LEFT JOIN y RIGHT JOIN se usan exclusivamente cuando una relación dada es opcional, y se desean obtener aquellos registros sin coincidencias.
En tu diseño, me resulta muy poco creíble que no haya relaciones mandatorias entre las tablas depositos, depositoscertificacion, categorias, provincias, ciudades y tipodeposito. AL menos desde el punto de vista de análisis de sistemas, ese tipo e relaciones debería ser obligatoria.

Por otro lado, si lo que quieres es el registro más reciente, hay un modo más simple.
Supongamos que las relaciones son mandatorias, y probemos esto:
Código MySQL:
Ver original
  1. SELECT de.id, nombre_deposito, tipo, localidad, provincia, categoria, fecha_certificado, vencimiento, comentarios
  2.     (SELECT    
  3.         de.id,
  4.         de.nombre nombre_deposito,
  5.         td.tipo,
  6.         ci.localidad,
  7.         pr.provincia,
  8.         ca.categoria categoria,
  9.         dc.fecha fecha_certificado,
  10.         DATE_ADD(dc.fecha, INTERVAL ca.tiempos DAY) AS vencimiento,
  11.         de.comentarios
  12.     FROM depositos de
  13.         INNER JOIN depositoscertificacion dc ON (dc.depositoId = de.id)
  14.         INNER JOIN categorias ca ON (ca.id = dc.categoria)
  15.         INNER JOIN provincias pr ON (de.provincia = pr.id)
  16.         INNER JOIN ciudades ci ON (de.ciudad = ci.id)
  17.         INNER JOIN tipodeposito td ON (td.id = de.tipo)
  18.     ORDER BY fecha_certificado DESC, td.tipo ASC) T1
Por otro lado te destaco que si la columna "ID" de la tabla DEPOSITOS es la clave primaria, esto:
Código MySQL:
Ver original
  1. WHERE de.id > 0
no tiene sentiudo, porquer una PK jamás puede ser cero ni tener un valor negativo.

Partamos de esa prueba, dinos qué es lo que te devuelve, y dinos qué es lo que debería devolver.
Postea tablas con datos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)