Cita:
Iniciado por Andres_hlan
Hola a todos estoy continuando un proyecto de alguien y pues a ver le explico lo que se trata es de una web de propiedades depende del tipo de propiedad y de la zona se asigna un codigo por ejemplo el codigo 'AP
02100'
Seria
AP = apartamento
02 = zona
100 = Consecutivo
ahora la persona que hizo este sistema utiliza esta consulta para identificar el consecutivo
Código PHP:
SELECT MAX( CAST(SUBSTRING(codigo,5) AS UNSIGNED ) ) max_cod FROM propiedades p where tipo ='AP' and zona ='02'
pero no entiendo como funciona.
cualquier aporte sera bien recibido
Muchas Gracias

AP02100 es un ejemplo de formato de los códigos. Si escribes
SELECT MAX( CAST(SUBSTRING(codigo,5) AS UNSIGNED ) ) max_cod FROM propiedades p where tipo ='AP' and zona ='02'
estás buscando el mayor valor de un código por lo que se refiere a sus elementos desde el 5 carácter en adelante, es decir, desde el 1 en tu ejemplo, a saber el 100. Pero para ordenarlo y sacar el máximo necesitas hacer una conversión a numérico (no olvides que lo has guardado como cadena de texto); de ahí la necesidad de hacer el cast as unsigned, la conversión a número. En realidad, buscas entre los códigos cuyo tipo sea 'AP' y cuya zona '02' el valor máximo del consecutivo, y para recuperarlo lo llamas max_cod mediante un alias.