[PHP][MYSQL]Wyszukiwanie w kilku tabelach

Witam!

Jestem w trakcie tworzenia wyszukiwarki, i chcę aby przeszukała ona kolumnę tytuł w bazie topics i text w bazie posts.

Znalazłem coś takiego jak UNION, i zrobiłem coś takiego:

Union tak działa. Zapewne posty i tematy muszą mieć jakąś kolumnę wspólną (taka po której odnajdujesz, że dany post jest do danego tematu), zatem “zbij je” za pomocą JOIN.

Złę zapytanie? - spróbuj jedno z poniższych.

#1

$query="

(SELECT tytul FROM topics WHERE tytul LIKE '%".$_GET['keywords']."%')

UNION

(SELECT `text` FROM posts WHERE `text` LIKE '%".$_GET['keywords']."%')

";

#2

$query="

(SELECT tytul FROM topics WHERE tytul LIKE '%".$_GET['keywords']."%')

UNION ALL

(SELECT `text` as tytul FROM posts WHERE `text` LIKE '%".$_GET['keywords']."%')

";

UNION łączy rezultaty - nie tabele, od łączenia tabel jest JOIN ewentualnie można przy pomocy WHERE połączyć, a raczej uzależnić wyniki. Ważne żeby ilosć kolumn się zgadzała no i chyba nazwy, dlatego podałem ten drugi przykład.

Dzięki, ale jeszcze nie do końca, bo teraz w jednym zapytaniu jak i w drugim $record[‘tytul’] zawiera teraz i text i tytul, a chciałbym żeby $record[‘tytul’] zawierała tytuł, a $record[‘text’] text

=".$_GET['keywords']."%')
(SELECT `tytul`, '' as `tekst` FROM topics WHERE tytul LIKE '%".$_GET['keywords']."%')

UNION ALL

(SELECT '' as `tytul`, `text` as `tekst` FROM posts WHERE `text` LIKE '%".$_GET['keywords']."%')

i poniżej

echo "

“.$record[‘tytul’].”

“; echo " “.$record[‘tekst’].””; [/code]

Nie wiem jaki to da rezultat, praktycznie w miejsce pustego pola (’’) można wstawić jakieś pole z tabeli.