SELECT ayc_buckets.*, ayc_buckets_areastudy.areastudyID, ayc_buckets_degrees.degreeID, ayc_buckets_schools.schoolID, ayc_schools.schoolID FROM ayc_buckets LEFT JOIN ayc_buckets_areastudy ON ayc_buckets_areastudy.bucketID = ayc_buckets.bucketID LEFT JOIN ayc_buckets_degrees ON ayc_buckets_degrees.bucketID = ayc_buckets.bucketID [b]LEFT JOIN (ayc_buckets_schools INNER JOIN ayc_schools ON ayc_buckets_schools.schoolID = ayc_schools.schoolID) ON ayc_buckets_schools.bucketID = ayc_buckets.bucketID [/b] WHERE 1 = 1 AND (ayc_buckets_areastudy.areastudyID != '' OR ayc_buckets_degrees.degreeID != '') ORDER BY ayc_buckets.priority ASC
Chce dolaczyc do wyniku LEFT JOIN-em zbior powstaly w wyniku zlaczenia tabel ayc_buckets_schools oraz ayc_schools czyli cos na zasadzie "zlacz te dwie tabele i dolacz ten wynik do tego co juz jest a jak nic nie znajdziesz w zbiorze to go olej (left join)".
Problem wystepuje w przypadku gdy tabela ayc_buckets_schools jest pusta. Nie wiem jak to zlaczyc jezeli nie ma rekordow w tabeli ayc_buckets_schools to nie dostaje nic a chodzi o to zebym dostawal NULL jezeli w tamtym zbiorze nic nie ma, moze zle stawiam nawiasy.
Ktos mialby pomysl jak powinienem to zlaczyc ?