Comme l'a montré flo, le plus simple est de faire des UNION.
Mais dans entre les différents UNION, tous les champs retournés doivent être identiques (dans chaque requête UNION, tu dois avoir le même nombre de "colonnes", portant le même nom, et du même type).
Tu peux gérer cela sans trop de problème en utilisant des alias (AS)
donc
Code :
- SELECT id_faune AS id, nom_faune AS nom, NULL as attribut1, 'faune' as type_table from faune UNION
- SELECT id_news AS id, nom_news AS nom, date_news AS attribut1, 'news' as type_table from news UNION
- SELECT id_yyy AS id, nom_yyy AS id, NULL as attribut1, 'yyy' as type_table from yyy
|
Edit : si je ne dis pas d'âneries MATCH AGAINST est pas mal pour faire des recherches FULL TEXT, mais demande un index full text sur les champs sur lesquels tu veux faire des recherches, et ne fonctionne que sur du MyIsam.
Message édité par deliriumtremens le 27-05-2010 à 16:45:33