Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/03/2013, 11:10
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: Sacar estado máximo con dos tablas relacionadas

La verdad, el problema es un diseño defectuoso, que sólo se percibe cuando tienes algo de experiencia en este tipo de detalles.
El problema máximo es que poner un atributo "estado" como cadena de caracteres es un error conceptual. Los "estados" deben ser siempre numéricos para poder jerarquizarlos. Las descripciones de los estados, esos pueden ser cadenas descriptivas. De ese modo lo puedes manejar mucho más fácil, sea con una tabla parametrizada de referencia, o bien usando campos ENUM.

Pero así como está, no se puede hacer sin darle una mejor parametrización a la consulta.

Esto tal vez sirva:
Código MySQL:
Ver original
  1. SELECT ORT, NOMBRE, ESTADO, RECORD
  2.     (SELECT
  3.         C.ORT,
  4.         C.NOMBRE
  5.         E.ESTADO,
  6.         MAX(E.FECHA) RECORD
  7.     FROM
  8.         CLIENTES C INNER JOIN ESTADOS E ON C.ORT = E.ID_ESTADO
  9.     ORDER BY FIND_IN_SET(E.ESTADO, 'abierta, tratando, cerrada') DESC) T1
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)