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