Hola Gonzalo... probe la consulta y me devuelve vacio, puede ser xq las tablas son muy similar a como lo detallaste pero con el detalle que los valores de un atributo de la tabla FILTROS corresponden a los atributos de la tabla AB
AB(ZONA, FASE, COD_SITIO)
FILTROS(VALOR_FILTRO, IDPERSONA, NOM_FILTRO,
CAMPO_FILTRO)
valores de
campo_filtro son:
fase,zona y cod_sitio que son los atributos de la tabla AB
en teoria de conjuntos seria algo asi lo que deseo devolver (zona1 u zona2) interseccion (cod_sitio1 u cod_sitio2) interseccion (fase1 u fase 2)
que seria ver por:
zona (todos los codigos que estan en esa zona)
zona-cod_sitio (todos los codigo pertenezca a la zona)
zona-cod_sitio-fase (todos los codigo pertenezca a la zona y la fase)
a lo cual tu sugerencia de restringir la búsqueda a las tuplas que cumplan lso criterios es genial no lo habia pensado
me entendiste la idea?
Código PHP:
SELECT ab.zona, ab.fase, ab.cod_sitio
FROM ab
INNER JOIN filtros ON ab.cod_sitio = filtros.valor_filtro
XOR ab.fase = filtros.valor_filtro
XOR ab.zona = filtros.valor_filtro
WHERE (
filtros.idpersona = '1'
AND filtros.nom_filtro = 'tercero'
)
cambie tus AND por XOR pero = no esta correcto el resultado, aun no discrimina por fase
saludos
lilian