joinam več tabel, in ni nujno, da vse med njimi vrnejo rezultate.
V where-u imam pa pogoj, ki se veže na npr. JOIN 3 tabele.
Kako lahko dam v if, da upošteva pogoj samo takrat, če je tretji JOIN vrnil rezultat?
Koda:
SELECT polja
FROM t1 AS sc
LEFT JOIN t2 AS sctr ON bla
LEFT JOIN t3 AS sctr1 ON bla
LEFT JOIN t4 AS sju1 ON bla
LEFT JOIN t5 AS cp ON bla
LEFT JOIN t6 AS poff ON bla
LEFT JOIN t7 ON bla
LEFT JOIN t8 AS pim USING(IIIIIII)
WHERE IF(LEFT JOIN t3 AS sctr1 ON bla ,main=1,main='') AND OSTALI POGOJI
SELECT polja
FROM t1 AS sc
LEFT JOIN t2 AS sctr ON bla
LEFT JOIN t3 AS sctr1 ON bla AND TVOJ POGOJ LEFT JOIN t4 AS sju1 ON bla
LEFT JOIN t5 AS cp ON bla
LEFT JOIN t6 AS poff ON bla
LEFT JOIN t7 ON bla
LEFT JOIN t8 AS pim USING(IIIIIII)
WHERE OSTALI POGOJI