SÉLECTIONNEZ les données DE deux tables dans MySQL
Ce que j'ai: La structure suivante:
table_zero
-> id (PRIMAIRE avec l'auto increment)
-> d'autres
table_1
-> id (clé étrangère de la table de zéro id)
-> varchar(80) Exemple de valeur: (aahellobbb)
-> one_field
table_2
-> id (clé étrangère de la table de zéro id)
-> varchar(160) Exemple de valeur: (aaececehellobbb)
-> other_field
Ce que je veux: Recherche et obtenir un (id,type varchar) tableau contenant tous les matches avec la LIKE '%str% sur-le-champ de type varchar. Par exemple, si je recherche avec la chaîne "hello", alors que je devrais obtenir à la fois des exemples de valeurs avec leurs identifiants. Ces identifiants sont toujours va être différent, puisqu'ils font référence à une CLÉ PRIMAIRE.
Ce que j'ai essayé: j'ai essayé avec l'UNION de TOUS, mais il ne fonctionne pas avec les LIMITES dans mon exemple.
OriginalL'auteur Mark Tower | 2013-02-27
Vous devez vous connecter pour publier un commentaire.
En utilisant
UNION
vous pouvez obtenir plusieurs fois les lignes avec le même ID. Que penser de l'utilisationLEFT JOIN
?Si j'ai bien compris votre question:
Si vous souhaitez un seul champ dans vos résultats contenant la chaîne trouvée, vous pouvez utiliser
COALESCE(table_1.varchar_field, table_2.varchar_field) AS matched_string
au lieu detable_1.varchar_field, table_2.varchar_field
Tout Simplement Merveilleux! 😀
OriginalL'auteur Frosty Z
Essayer cette
Excesive utilisation de la mémoire, sélectionnez 200.000 lignes limit 0, 10 à 20 secondes, alors que l'intention de l'ordre par une colonne.
OriginalL'auteur JudgeProphet
OriginalL'auteur Amal joseph