Ver Mensaje Individual
  #4  
Antiguo 20-10-2004
Avatar de ruina
ruina ruina is offline
Miembro
 
Registrado: jun 2004
Posts: 196
Reputación: 20
ruina Va por buen camino
bueno, una solución que se me ocurre es usar alias en el query tanto para los nombres de los campos como para las tablas.

Asi, por ejemplo, si tenemos un campo llamado CODIGO repetido en varias tablas al hacer la consulta escribiriamos:

Código SQL [-]
Select A.CODIGO A__CODIGO, A.IMPORTE, B.CODIGO B__CODIGO, B.NOMBRE 
from factura A, cliente B
where A.CODIGOCLIENTE = B.CODIGO  
  AND xxxxx

donde xxx será la condición del filtro.

Ahora los campos de nuestra query ya no se llamaran CODIGO, CODIGO_1 sino A__CODIGO y B__CODIGO, entonces a la hora de modificar el SQL para aplicar el filtro haremos una comprobación de si el campo empieza por A__ o B__ y en general si empieza por una letra y dos guiones bajos, si es asi lo sustituimos por un "A." o un "B."

Con lo que al final obtendremos automaticamente:
Código SQL [-]
Select A.CODIGO A__CODIGO, A.IMPORTE, B.CODIGO B__CODIGO, B.NOMBRE 
from factura A, cliente B
where A.CODIGOCLIENTE = B.CODIGO  
  AND B.CODIGO like "%7%"

por supuesto a la hora de esctibir la consulta tendremos nosotros de tener cuidado de no olvidar el "__" en los campos repetidos.

Nose, es solo una idea, espero que te ayude
__________________
todo el mundo debe creer en algo... yo creo que voy a tomarme otra copa.
Responder Con Cita