J'essaie d'écrire une requête pour tirer toutes les lignes qui contiennent un nom d'utilisateur d'une grande liste de noms d'utilisateurs dans un champ. Par exemple, la table contient une colonne appelée 'Worklog' qui contient les commentaires faits par les utilisateurs et leur nom d'utilisateur. J'ai besoin de rechercher ce champ pour tous les noms d'utilisateur qui sont contenus dans une liste que j'ai.Les résultats de requête MySQL utilisés dans LIKE
J'ai essayé plusieurs choses mais je n'arrive pas à faire quoi que ce soit. Jusqu'à présent, c'est un peu ce que j'ai essayé:
SELECT *
FROM `JULY2010`
WHERE `WorkLog`
IN (
SELECT CONCAT('%', `UserName` , '%')
FROM `OpsAnalyst`
)
Le problème est que je besoin d'utiliser COMME parce qu'il est à la recherche d'une grande quantité de texte, mais je aussi une grande liste qu'il tire de, et cette liste doit être dynamique parce que les gens qui travaillent ici changent fréquemment. Des idées?
Pourquoi avez-vous besoin d'utiliser comme? Vous ne pouvez pas vous joindre aux deux tables? – Tim
regardez cette réponse. meybe regexp vous aider http://stackoverflow.com/questions/1127088/mysql-like-in –
@Tim Je n'ai rien à quoi je puisse vraiment rejoindre les tables. Pas de colonnes communes. Peut-être ai-je mal compris votre réponse? Je suis un peu nouveau sur SQL et tout ce que j'ai essayé jusqu'ici a été de ce que j'ai trouvé en cherchant Google pour les personnes ayant des problèmes similaires. – mitchellwright