Error en una condición con CAST
Tengo una base de datos en FB 2.5. Dos de las tablas son: provincias, que únicamente contiene dos valores (Codigo SMALLINT y Nombre VARCHAR), y poblaciones que tiene, entre otros campos, el nombre y el código postal, ambos VARCHAR. En la tabla de provincias tengo declarada una fila con el código 99 y el nombre PROVINCIA DESCONOCIDA.
Estoy tratando de sacar las poblaciones con este query: Código PHP:
Cita:
|
Está un poco confuso, ¿exactamente qué quieres conseguir?
|
Pero, vamos, que el problema es que hay un cpostal en blanco:
Código:
13 14828 CINCO CASAS ES |
Como dice Casimiro, tienes un código postal en blanco.
Prueba concantenando '0' antes del código postal para que por lo menos tenga un 0. Obviamente fallará si tienes letras en ese campo.
|
Gracias por vuestras ideas.
Sobre lo del código postal en blanco: Vale. El ejemplo que ha puesto Casimiro es real: En esa tabla está ese municipio sin código postal, pero imagina que la carga desde un fichero externo TXT pone, por error, código postales que empiezan por 75 en lugar de 45. Para eso me hace falta ese query. Cita:
Cita:
|
Cita:
Código PHP:
Cita:
|
Otra cosa, y perdón por el barullo de mensajes: Me valdría peferctamente al revés:
Código PHP:
|
La verdad es que no se entiende bien lo que pretendes, por eso te preguntaba antes:
Cita:
|
Hola a todos,
Cita:
Código PHP:
Un saludo |
Perdón, el ejemplo que di anteriormente no estaba del todo bien.
Debes concatenar el 0 al resultado del substring y no antes: Me explico
|
Cita:
|
Cita:
|
Vale. Acabo de hacer sendas pruebas con los códigos propuestos por bucanero y duilioisola y, aparentemente, ambos funcionan correctamente. Muchísimas gracias a todos por vuestra ayuda. Ya sé que soy un pelín paliza. :o
|
Cita:
|
Cita:
|
Cita:
Tienes en la tabla poblacion los campos codprv y cpostal, que se suponen que son el código de la provincia (enlaza con campo codigo en tabla provincia) y tienes el campo cpostal, entonces en la tabla poblacion, todos los cpostal deberán iniciar con los mismos valores que codprv, ¿es así? Es que entonces puedes buscar diferencias entre esos campos, algo más o menos así:
Código:
CODPRV CPOSTAL |
Cita:
En un principio la aplicación se pensó para poder acumular las bases de datos de distintas provincias y ese campo sirve para distinguir el origen de los datos; el probelma es que las bases de datos no estan conectadas y cada provincia tiene la suya propia. Por ejemplo: Tanto en Ciudad Real (13) como en Toledo (45) pueden tener una misma población pero con distinto código. Digamos que en ambas provincias tienen grabado en el fichero de poblaciones a Toledo, pero en Ciudad Real tiene el código 2 y en Toledo el 1. Ese código está asociado en varias tablas (como puede ser la de personas), pero al acumular todas las bases de datos en una única necesito que viajen todos los datos para poder localizarlos, independientemente del origen de los mismos. Sé que no es un buen sistema, que lo suyo sería una única base de datos conectada vía internet pero se resisten de una forma tremenda a "perder" el control de "sus" datos. |
Hay tres tablas (bancos, provincias y países) que no tiene esa columna porque todas ellas son iguales en cualquier instalación. Por ejemplo: al margen de la provincia que gestione los datos, la entidad bancaria de código 0049 dentro de España siempre será el Banco de Santander o la provincia 28 siempre será Madrid.
|
Gracias por la aclaración ^\||/
|
sin mayor probelma. Gracias a vosotros por vuestra inapreciable ayuda.
|
La franja horaria es GMT +2. Ahora son las 01:35:43. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi