Gracias a todos por las respuestas.
Cita:
Empezado por Casimiro Notevi
Es que por lo visto tiene que ser "select substring" no en un "where".
|
Pues yo lo tengo usado tal como lo he puesto con tablas Paradox y en otras aplicaciones con FB. Además, el error que da es que la palabra FROM es desconocida. Si en lugar de se código pongo, por ejemplo, este:
Código SQL
[-]SELECT SUBSTRING(Bic FROM 5 FOR 2) FROM Bancos
me da el mismo error
Cita:
Empezado por Casimiro Notevi
Puedes crearte un Stored Procedure, algo asi como:
Código SQL [-]for select substring(bic from 5 to 2) from bancos into :valor do select codigo from tbpaises where codigo= :valor suspend; end
|
¿Y como hago para meter esto en un CREATE VIEW o en un UPDATE de una tabla?
Cita:
Empezado por ecfisa
Hola Angel.Matilla.
Algo mas debe haber en juego. Reproduje la situación como la planteaste, ejecutando la misma consulta y no me dá ningún error.
|
Sí, pero no soy capaz de verlo.
Cita:
Empezado por ecfisa
Tabla PAISES:
Código:
CODIGO NOMBRE
----------------
156 CHINA
840 E.E.U.U.
124 CANADA
Tabla BANCOS:
Código:
ENTIDAD NOMBRE BIC
--------------------------------------------
00001 ICBC 000015600000
00002 Wells Fargo & Co 000084000000
00003 Bank of Nova Scotia 000012400000
Consulta:
Código SQL [-]SELECT * FROM BANCOS WHERE SUBSTRING(BIC FROM 5 FOR 2) NOT IN (SELECT CODIGO FROM PAISES)
Resultado:
Código:
ENTIDAD NOMBRE BIC
--------------------------------------------
00001 ICBC 000015600000
00002 Wells Fargo & Co 000084000000
00003 Bank of Nova Scotia 000012400000
|
Pues algo no hace bien tu prueba. Fíjate que busco los que no estén en la tabla. Con la prueba que has hecho no tendría que salir ninguna fila del select.
Cita:
Empezado por RONPABLO
por otro lado el query no es optimo y con muchos registros en ambas tamblas podría tomar mucho tiempo, lo puedes cambiar a algo similar a esto:
Código:
SELECT b.* FROM Bancos b WHERE exists (SELECT p.Codigo FROM Paises p where p.codigo = SUBSTRING(b.Bic FROM 5 FOR 2))
|
Me da el mismo error: TOKEN UNKNOW FROM.
