J'ai actuellement deux tableaux suivants:Recherche deux tables
CREATE TABLE files_list
(
'listid' INT,
'name' VARCHAR(25),
'synonym' VARCHAR(25),
'description' VARCHAR(25)
);
CREATE TABLE files_tags
(
'tag_name' VARCHAR(25),
'listid' INT
);
Si quelqu'un utilise le mot-clé "dragon ball", en ce moment, j'utilise requête suivante pour rechercher my_list des correspondances possibles:
SELECT *
FROM files_list
WHERE name LIKE '%dragon%'
OR synonym LIKE '%dragon%'
OR description LIKE '%dragon%'
OR name LIKE '%ball%'
OR synonym LIKE '%ball%'
OR description LIKE '%ball%'
Je ne suis pas sûr comment rechercher les deux tables en utilisant une requête. Je veux montrer à l'utilisateur les données suivantes dans le résultat de la recherche: nom, synonyme, description et tous les tags.
Mes questions 1. Y a-t-il un moyen de rendre la requête mysql actuelle plus courte? 2. Comment puis-je combiner avec table files_tags
, - montrer les lignes de files_list
qui a un match à files_tags
, mais pas dans files_list
? - pour afficher les lignes de files_list
qui a une correspondance dans files_list, but may not in
files_tags`?
Vous pouvez voir le résultat affiché en cours à http://hsbsitez.com/
http://stackoverflow.com/questions/394041/mysql-how-to-search-multiple-tables-for-a-string-existing-in-any-column Voir cette question votre réponse est là :) – fmsf
Possible duplicate de [MySQL: Comment rechercher plusieurs tables pour une chaîne existant dans une colonne] (http://stackoverflow.com/questions/394041/mysql-how-to-search-multiple-tables-for-a-string-existing-in-any-column) – KindaTechy