Otóż posiadam dwie tabele a i b połączone ze soba trzecią tabelą c (relacja wiele do wielu).
Tabela 'a' zawiera id, imie.
Tabela 'b' zawiera id, tytul.
Tabela 'c' zawiera aid i bid.
Problem mój polega na tym, że nie wiem w jaki sposób pobrać wszystkie dane z bazy. Załóżmy, że mam takie relacje:
a
1 tomek
2 marek
3 zosia
b
1 cokolwiek
2 cokolwiek1
3 okolwiek2
c
1 1
2 2
Takie zapytanie:
SELECT * FROM `a` LEFT JOIN c ON (a.id=c.aid) LEFT JOIN b ON (c.bid=b.id) WHERE (a.imie LIKE '%o%' OR b.tytul LIKE '%o%')
zwróci:
tomek cokolwiek
marek cokolwiek1
zosia NULL
Natomiast takie, gdzie zamiast LEFT JOIN jest RIGHT JOIN
SELECT * FROM `a` LEFT JOIN c ON (a.id=c.aid) RIGHT JOIN b ON (c.bid=b.id) WHERE (a.imie LIKE '%o%' OR b.tytul LIKE '%o%')
zwróci:
tomek cokolwiek
marek cokolwiek1
NULL cokolwiek2
Jak zbudowac zapytanie, o ile to możliwe, które zwróci:
tomek cokolwiek
marek cokolwiek1
zosia NULL
NULL cokolwiek2
Mam nadzieję, że napisałem w miarę jasno.
Z góry dziękuję za odpowiedź.