2009-11-23 5 views
1

Je voulais juste demander s'il existe un moyen plus simple d'obtenir des enregistrements de toutes les tables de db en utilisant une seule requête où certaines tables sont liées en utilisant PK et FK.Mysql: Obtenir les résultats de toutes les tables

Par exemple, j'ai une liste déroulante qui a 'Cars', '' Vélos, 'Camions', etc

Lorsque je sélectionne Cars, j'obtenir des résultats que de la table Cars.

Mais maintenant j'ai ajouté «Tous» à cette liste déroulante qui signifie obtenir des résultats de toutes les tables pour la requête de recherche.

Comment faire?

+0

il serait idéal s'il y a une classe qui peut chercher dans le db ensemble des critères donnés !! – Sarfraz

Répondre

2

Vous pouvez utiliser un UNION:

SELECT * FROM cars UNION 
SELECT * FROM bikes UNION 
SELECT * FROM trucks; 
0

Si une table contient une clé étrangère faisant référence à une seconde table, vous pouvez utiliser une jointure. Veuillez publier le DDL de vos tableaux et décrire le résultat que vous souhaitez obtenir plus en détail.

0

Une possibilité consiste à modifier la structure de la base de données de sorte que les trois tables Cars, Bikes et Trucks soient combinées en une table-véhicules-avec une colonne supplémentaire qui indique quel type de véhicule elle est.

Une autre possibilité consiste à créer une vue qui fait la même chose. Je suggérerais des détails, mais j'ai besoin de voir la table et les définitions clés.

Questions connexes