SubConsulta y LIKE

02/04/2008 - 10:30 por Alf | Informe spam
Tengo una tabla ORIGEN con dos campos Codigo y Descripcion. El codigo es de
tipo caracter pero sólo entran numeros. Todos de la misma longitud, por
ejemplo de 10 números, tipo: "0242421004", "10346471004", etc
Otra Tabla FILTRO con un campo Código donde en ejecución se introducen
filtros posibles, aqui se permite libertad en el tamaño: "12", "01239",
"001292", etc

Se puede en una sóla consulta mostrar los registros de ORIGEN que cumplan
los filtros, es decir, si recorro uno a uno FILTRO, la consulta sería:


SELECT Codigo, Descripcion FROM Origen WHERE Codigo LIKE 'XX%'

donde XX sería el valor de FILTRO.Código.

En una subconsulta tipo:
SELECT Codigo, Descripcion FROM Origen WHERE
(Codigo IN (SELECT FIltro.Codigo FROM Filtro))

no muestra nada porque las longitudes de los datos de Codigo son distintos.

¿Se puede en una sola consulta?

Gracias de antemano.

Un saludo,

 

Leer las respuestas

#1 Maxi Accotto
02/04/2008 - 16:24 | Informe spam
Hola, como lo tiene diseñado va a necesitar utilizar SQL Dinamico para poder
resolver eso.

Aqui le paso un link

http://www.hayes.ch/sql/sql_dinamico.html


Microsoft MVP SQLServer
www.sqltotalconsulting.com
-

"Alf" escribió en el mensaje de
noticias:

Tengo una tabla ORIGEN con dos campos Codigo y Descripcion. El codigo es
de tipo caracter pero sólo entran numeros. Todos de la misma longitud, por
ejemplo de 10 números, tipo: "0242421004", "10346471004", etc
Otra Tabla FILTRO con un campo Código donde en ejecución se introducen
filtros posibles, aqui se permite libertad en el tamaño: "12", "01239",
"001292", etc

Se puede en una sóla consulta mostrar los registros de ORIGEN que cumplan
los filtros, es decir, si recorro uno a uno FILTRO, la consulta sería:


SELECT Codigo, Descripcion FROM Origen WHERE Codigo LIKE 'XX%'

donde XX sería el valor de FILTRO.Código.

En una subconsulta tipo:
SELECT Codigo, Descripcion FROM Origen WHERE
(Codigo IN (SELECT FIltro.Codigo FROM Filtro))

no muestra nada porque las longitudes de los datos de Codigo son
distintos.

¿Se puede en una sola consulta?

Gracias de antemano.

Un saludo,



Preguntas similares