SQL - ESTOY BLOQUEADO

   
Vista:

ESTOY BLOQUEADO

Publicado por Victor vmp1970@yahoo.es (10 intervenciones) el 19/01/2013 14:31:39
Hola a todos

Estoy bloqueado con una consulta SQL, aparentemente sencilla, pero que me esta volviendo loco.
Tengo una tabla de access con nombre de ciudades:

MADRID
BARCELONA
BILBAO
......

Tengo la siguiente variable

valor="MADRID CAPITAL"

Necesito buscar la ciudad cuyo nombre se asemeje a la variable valor.
He probado lo siguiente, pero no funciona:

"SELECT Nombre FROM Tabla WHERE Nombre Like " & valor & ";"

Muchas gracias por todo y un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ESTOY BLOQUEADO

Publicado por Libras (10 intervenciones) el 21/01/2013 16:28:39
y tienes algun campo que se "asemeje" al que buscas, hay alguna ciudad que se llame "Madrid capital algo" o "algo Madrid capital"

saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ESTOY BLOQUEADO

Publicado por leonardo_josue (878 intervenciones) el 21/01/2013 19:39:13
Hola Victor:

Tal como lo comenta Libras... aquí el detalle es que SQL NO ES ADIVINO, sino que sólo puede realizar búsquedas sobre información que realmente tengas en tu tabla.

No das mucha información acerca de la información que tienes en tus tablas, pero una opción para hacer búsquedas de frases compuestas, aunque no es nada recomendable, sería separar la frase en "tokens" o elementos separados y utilizar el operador OR, es decir, algo como esto:

1
2
3
SELECT Nombre FROM Tabla
WHERE Nombre Like '%MADRID%' OR
Nombre Like '%CAPITAL%'


Esto por supuesto tiene sus pro y contras, pues este tipo de consultas tienen terrible rendimiento en cualquier DBMS... además, los resultados podrían no ser los esperados. (Nota, no recuerdo si en Access el caracter comodín es el %, cuestión de que revises la documentación)

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ESTOY BLOQUEADO

Publicado por Victor (10 intervenciones) el 21/01/2013 23:46:14
Hola

Gracias a los dos por vuestro interés.
Al final ya he conseguido hacer lo que necesitaba. He usado la la siguiente consulta

"SELECT Nombre FROM Tabla WHERE instr(valor,Nombre)>0;"

Gracias y un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar