Procedimiento almacenado y filtros

08/05/2008 - 09:06 por Alhambra Eidos Kiquenet | Informe spam
Hola a todos,

Estoy en este caso, tenemos una tabla que llamamos "Maestra", que puede
contener varios registros (1..n), con el nombre de una tabla y luego nombres
de campos para Descripción y CIF (este puede ser null)
NOMBRE_TABLA CAMPO_DES CAMPO_CIF
Tabla1 campoDesTabla1 CampoCifTabla1
Tabla2 campoDesTabla2 NULL
Tabla3 campoDesTabla3 NULL


La cuestión es que pretenden hacer una búsqueda por ejemplo, por el campo
descripción, algo así Descripción like ‘%a%’

Esa búsqueda tendría que incluir al conjunto de resultados de todas las
tablas que se indican en la tabla maestra.

Sería como hacer un UNION de tabla1, tabla2, tabla3, y de todo ese conjunto
de filas resultante poder filtrar por el campo descripción por ejemplo.

select campoDesTabla1 as des, CampoCifTabla1 as cif from tabla1
union
select campoDesTabla2 as des, NULL as cif from tabla2
union
select campoDesTabla3 as des, NULL as cif from tabla3

No sé cuál será la manera más óptima, creo que se pierde todo lo bueno de
procedimientos y funciones al tener ya consultas dinámicas (los planes de
ejecución, etc).

Cualquier comentario se agradecería.

Saludos cordiales, y gracias.

http://www.alhambra-eidos.es/web2005/index.html
www.kiquenet.net
http://www.setbb.com/putainformatic...opic.php?p„3
www.trabajobasura.com/solusoft

Preguntas similare

Leer las respuestas

#1 Cristian Meneses
09/05/2008 - 17:29 | Informe spam
Buenas
Te podrias explicar mejor, no logro entender lo que necesitas..
"Esa búsqueda tendría que incluir al conjunto de resultados de todas
las
tablas que se indican en la tabla maestra. "
Saludos

Cristian Meneses
Respuesta Responder a este mensaje
#2 Alhambra Eidos Kiquenet
12/05/2008 - 08:55 | Informe spam
Sí, básicamente sería algo así
select des, cif from
(
select campoDesTabla1 as des, CampoCifTabla1 as cif from tabla1
union
select campoDesTabla2 as des, NULL as cif from tabla2
union
select campoDesTabla3 as des, NULL as cif from tabla3
) resultado
where resultado.des like = '%a%'

Saludos.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida