Заявка за търсене в три таблици

mnis

Registered
Не мога да направя заявка за търсене, която да извлече резултат от три различни таблици, които представляват страница, под страница и под под странци (меню)

Таблиците са примерно тези

name - е заглавие на страница
content - е съдържание на страница

table1
id | name | content

table2
id2 | t1_id | name2 | content2

table3
id3 | t1_id | t2_id | name3 | content3


Заявката за търсене в една таблица е следната:

Код:
$g = $_GET['q']; // думата за която се търси 
$query  = "SELECT * FROM table1 WHERE name like '%".$q."%' OR content like '%".$q."%');

Но как ще стане заявката да претърсва и трите таблици?!?! Пробвах какви ли не варианти, но не мога да "свържа" таблиците и търсената дума да претърсва name, content от table1, name2, content2 от table2, name3, content3 от table3 едновременно.

Ще съм благодарен на всеки, който ми помогне или поне да ме насочи...
 
Код:
$g = $_GET['q']; // думата за която се търси
$query  = "SELECT * FROM table1 WHERE name like '%".$q."%' OR content like '%".$q."%' 
UNION SELECT * FROM table2 WHERE name like '%".$q."%' OR content like '%".$q."%' " ;
 
Не става така

Код:
$query  = "SELECT * FROM table1 WHERE name like '%".$q."%' OR content like '%".$q."%'
UNION SELECT * FROM table2 WHERE name like '%".$q."%' OR content like '%".$q."%' " ;

тъй като при мен полетата в таблиците са различни пробвах така

Код:
$query  = "SELECT * FROM table1 WHERE name like '%".$q."%' OR content like '%".$q."%'
UNION SELECT * FROM table2 WHERЕ name2 like '%".$q."%' OR content2 like '%".$q."%' " ;

Но не става и така, не мога да извлека name2 от втората таблица

Код:
echo "$name"; // от table1 излиза си коректно

echo "$name2"; // от table2 - НЕ излиза въобще

Някакви идеи?!?!
 
Може да съм объркал кавички някъде, провери за всеки случай.
Код:
...table1.pole1.....
table2.pole2 ...

Импровизирай, това е единия от начините.
Другия е това:

http://www.tizag.com/mysqlTutorial/mysqlleftjoin.php

Ама не ми е много ясно как става.
 
Благодаря ти rombeca...

С UNION се получиха нещата.... В началото не успях, защото имах различен брой полета в заявката за всяка отделна таблица..

Заслужи си точката!
 

Back
Горе