2010-02-05 5 views
0

Dans ma recherche j'ai utilisé autosuggest. Le problème maintenant est que je dois rechercher la valeur dans plusieurs champs tels que le prénom, le nom d'objet, le nom de famille, la légende etc. Comment identifier que la chaîne de correspondance apparaîtra sur le nom de champ spécifique.mysql sélectionner dans plusieurs champs

Disons que j'ai la table

firstname  middlename  lastname  caption 
james   kelly   tow   handsome 
timy   john   fung   fearless 
hanes   bing   ken   great 

dans mon champ d'entrée une fois que je tapé "j" Je dois choisir et ouput

James
john
grand

Actuellement je viens de sortie le prénom donc au lieu du résultat ci-dessus je suis sorti comme ci-dessous ce qui n'est pas bon.

James
timy
Hanes

Il est possible? Toute aide serait grandement appréciée.

Répondre

0

Juste OU-les ensemble comme ceci:

SELECT * FROM yourTable WHERE firstname LIKE '%j%' OR lastname LIKE '%j%' -- ... 
1

Vous pouvez faire quelque chose comme:

SELECT IF(first LIKE 'j%', 
      first, 
      IF(middle LIKE 'j%', 
      middle, 
      IF(last LIKE 'j%', 
       last, 
       ''))) AS name 
FROM mytable 
HAVING name <> ''; 
+0

salut max, votre solution est si belle et travaille pour moi. J'ai essayé avant la recherche de texte intégral et en utilisant OR mais le problème est que je ne sais pas dans quel champ fieldname appartient. Merci – tirso

Questions connexes