Pomocí rozevíracího seznamu poblíž vyhledávacího textu vyberte kategorii nebo zaškrtávací políčko více položek, abyste viděli, jaké spojení byste museli vytvořit? Doporučil bych vám Sphinx http://sphinxsearch.com/
Zkuste
SELECT 1 as type,tname AS keyword FROM t
UNION
SELECT 2 as type,sname AS keyword FROM sub
UNION
SELECT 3 as type,cname AS keyword FROM c
UNION
SELECT 4 as type,iname AS keyword FROM i
foreach($results as $result)
{
switch($result['type'])
{
case 1:
$cat_1[]=$result;
break;
case 2:
$cat_2[]=$result;
break;
}
}