Ver Mensaje Individual
  #9  
Antiguo 25-04-2018
bucanero bucanero is offline
Miembro
 
Registrado: nov 2013
Ubicación: Almería, España
Posts: 208
Reputación: 11
bucanero Va camino a la fama
Hola a todos,


Cita:
Empezado por Angel.Matilla Ver Mensaje
Otra cosa, y perdón por el barullo de mensajes: Me valdría peferctamente al revés:
Código PHP:
SELECT CODIGONOMBRECPOSTAL
FROM POBLACION
WHERE SUBSTRING
(CPOSTAL FROM 1 FOR 2NOT IN (SELECT CAST(CODIGO AS VARCHAR(2))
FROM PROVINCIA WHERE CODIGO AND CODIGO 99ORDER BY CPOSTALNOMBRECODIGO 
Pero este query me saca todos los registros de la tabla (más de 58.000).
prueba con:
Código PHP:
SELECT CODIGONOMBRECPOSTAL
FROM POBLACION
WHERE SUBSTRING
(CPOSTAL FROM 1 FOR 2NOT IN (SELECT LPAD(CAST(CODIGO AS VARCHAR(2)), 2'0'FROM PROVINCIA WHERE CODIGO AND CODIGO 99ORDER BY CPOSTALNOMBRECODIGO 
Eso esta pasando por que al convertir un código de provincia de un solo dígito, ejemplo Barcelona si utilizas los dos primeros dígitos del código postal correspondería a '08' y el código numérico se queda solo como 8, al aplicar solamente CAST(CODIGO AS VARCHAR(2)) obtienes '8' que no es igual a '08' con el LPAD se soluciona

Un saludo
Responder Con Cita