Próbuję ogarnąć zapytanie mysql do wyszukiwarki z bazy danych.
Mam taką strukturę w dużym uproszczeniu.
Tabela główna (Główna): ID / NAZWA / TREŚĆ
Tabela dodatkowa 1 (dodatkowa 1): ID / ID_ALL / COL 1 / COL 2...
Tabela dodatkowa 2 (dodatkowa 2): ID / ID_ALL / COL 1 / COL 2...
Powiązane są ze sobą Główna ID = dodatkowa 1/2 ID_ALL
Mam nadzieję, że jasno to opisałem.
I teraz wyszukuję w tabeli głównej zadanego ciągu z wyszukiwarki (zakładam np. 3-wyrazową frazę):
"SELECT * FROM glowna WHERE tresc LIKE '%".$slowo[0]."%' OR tresc LIKE '%".$slowo[1]."%' OR tresc LIKE '%".$slowo[2]."%'"
I to działa dobrze.
Jednak chciałbym powiązać wyszukiwane wyniki z tymi dodatkowymi tabelami. Kontynuując zakładam dalej 3-wyrazową frazę:
"SELECT * FROM glowna A, dodatkowa1 B, dodatkowa2 C WHERE (A.tresc LIKE '%".$slowo[0]."%' OR A.tresc LIKE '%".$slowo[1]."%' OR A.tresc LIKE '%".$slowo[2]."%') AND A.id=B.id_all AND A.id=C.id_all"
Podejrzewam, że jest jakiś byk w tym zapytaniu ale nie bardzo wiem gdzie. Pewnie coś pochrzaniłem z tymi operatorami OR LIKE i nawiasami... No chyba, że ogólnie źle sobie to wymyśliłem. Jeśli może mnie ktoś naprowadzić na jakieś rozwiązanie to proszę bardzo. Pozdrawiam, Ł