Je suis nouveau à JOINS dans MySQL.Quel genre de JOIN devrais-je utiliser ici?
J'ai six tables: t1, t2, t3, t4, t5, t6. J'ai également une table principale: main_table
. TOTAL 7 TABLES! La première colonne de toutes les tables est appelée classified_id
.
Si l'utilisateur recherche "voitures" alors la table principale correspondra à tout dans la table t1 (qui est la table des voitures) où class_id est le même dans les deux tables.
Alors:
SELECT * FROM main_table, t1 WHERE main_table.classified_id=t1.classified_id
Cela fonctionne très bien, même si je ne suis pas sûr que ce soit la façon de rejoindre ici. La performance est un problème dans mon cas!
Cependant, voici mon problème. Chaque fois que TOUTES LES CLASSIFICATIONS sont recherchées, alors je dois faire correspondre le main_table.classified_id
aux autres tables classified_id
colonne et obtenir chaque classé il y a.
Comment cette requête doit-elle être constituée?
SELECT * FROM main_table, t1, t2, t3, t4, t5, t6 // I have this so far which is not much!
Si vous avez besoin de plus d'entrée il suffit de demander et je vais mettre à jour ce Q.
Merci
EDIT: Table configuration:
main_table: t1:
ID(PK) ID (PK)
classified_id -> 25 classified_id -> 25
category -> CARS year -> 1997
Que pensez-vous qu'il arrivera si dans l'une des tables il n'y a pas d'enregistrement avec class_id. Parce que c'est le critère principal qui joint le type à utiliser. – anthares
Il semble que t1-t6 sont des entrées classifiées, chacune avec 2 colonnes, id et valeur, où 'valeur' est quelque chose comme '2008 Camry. Ça fonctionne bien. Est-ce correct? –
puis retour 0! Aucun résultat! –