Hola:
Tengo varias tablas que se unen entre si con id_tabla, ahora bien, dentro de una de ellas tengo un campo que dependiendo de su valor puede hacer o no un JOIN a otra tabla. Ej:
Código SQL:
Ver originalSELECT tabla1.campo1
FROM (tabla1 INNER JOIN tabla2 ON (
(tabla2.campo2 = tabla1.campo2 AND tabla2.campo5 >= tabla1.campo) OR
(tabla2.campo3 = tabla1.campo3 AND tabla2.campo6 >= tabla1.campo) OR
(tabla2.campo4 = tabla1.campo4 AND tabla2.campo7 >= tabla1.campo))
INNER JOIN tabla3 ON tabla3.id = tabla1.idtabla3 AND tabla3.fechainicial <= 'la fecha buscada'
INNER JOIN tabla4 ON tabla3.id = tabla4.idtabla3
AND tabla3.fechafinal >= 'la fecha buscada')
INNER JOIN tabla5 ON tabla5.id = tabla2.id_tabla5 AND tabla5.idtabla4 = tabla1.idtabla4
WHERE tabla2.id = valorbuscado
GROUP BY tabla1.campo1
Ahora bien, el ultimo JOIN sobre la tabla 5 quiero excluirlo si por ejemplo el campo2 de la tabla 1 trae un valor 0 y si trae valor diferente anexarlo.
¿Se puede realizar directo en la consulta? ¿O se debe generar por separado?