hola de nuevo:
Hacer JOIN's con dos o tres o n tablas (sin rebasar el limite máximo de tablas que es de alrededor de 50), es exactamente lo mismo:
Código MySQL:
Ver originalFROM tabla1
, tabla2
, tabla3
, tabla4
WHERE tabla1.campo
= tabla2.campo
and tabla2.campo
= tabla3.campo
and tabla3.campo
= tabla4.campo
and tabla3.otro_campo
= tabla4.campo
and tabla1.campo
= 'algo' or tabla3.campo
in (1, 2)
pasaría a ser algo como esto:
es decir, en las cláusulas ON SÓLO VAN LAS RELACIONES QUE SIRVEN PARA UNIR UNA TABLA CON OTRA... en el WHERE van los filtros de la información. hay algunos "trucos" para hacer más eficientes los JOIN's... por ejemplo, si tu tabla1 se relaciona con tus tablas 2 y 4, pero hay menos registros relacionas con la tabla4, entonces colocas primero el JOIN con la tabla 4 y después el de la tabla2... en realidad no hay mucha ciencia, insisto, es cuestión de práctica. Si tienes problemas con alguna consulta, postea lo que intentaste hacer y con gusto te ayudamos a corregirla.
Saludos
Leo