J'ai un tableau des prénoms et des noms.Condition SQL: (A = B ET C LIKE% D%) OU (A LIKE% B% ET C = D)
J'essaie de faire une recherche instantanée jQuery sur une entrée, afin de trouver très rapidement et précisément une personne dans une énorme liste de personnes.
Lorsque le premier mot est entré dans l'entrée, il peut s'agir du prénom ou du nom de famille.
Je fais ceci: SELECT * FROM myTable WHERE firstName LIKE %content% OR lastName LIKE %content%
Lorsque deux mots sont entrés, il pourrait être: * le prenom complet et un peu du nom * la pleine lastname et un peu de firstame
Alors J'ai essayé cette requête: SELECT * FROM myTable WHERE (firstName = content1 AND lastName LIKE %content2%) OR (lastName = content1 AND firstName LIKE %content2%)
Malheureusement parenthèse semble ne rien faire, et que la requête ne soit pas interprété de cette façon, j'ai beaucoup de résultats, essentiellement produit par l'état du deux comme
Quelqu'un a eu affaire à cela avant et pourrait me donner un coup de main?
Thanx
juste pour préciser - dans votre deuxième requête, le contenu et%% de contenu représentent en fait de chaînes différentes, non? Donc, vous ne faites pas firstName = 'John Sm' ET lastName LIKE '% John Sm%', mais plutôt firstname = 'John' ET lastName LIKE '% Sm%'? –
voulez-vous dire 'SELECT * FROM myTable OERE (firstName = content1 et lastname LIKE% content2%) OU (lastName = content2 ET firstName LIKE% content1%)'? –
ouais mon erreur. juste au dessus. J'ai édité ma question – guillaumepotier