La bonne réponse est que vous devez normaliser votre schéma SQL un peu. Vous avez besoin de trois tables distinctes: client, emplacements et customer_locations. La table des localisations a UN enregistrement par ville avec au moins deux colonnes: city_id et name. La table customer_locations a exactement deux colonnes: customer_id et city_id. Ceci est connu comme une table de "recherche" et vous permet de définir des relations "plusieurs-à-plusieurs".
Maintenant, votre requête sera un peu plus complexe car vous devrez utiliser "rejoindre". Mais avec la complexité vient la flexibilité - vos recherches seront exactes et vous éviterez des problèmes tels que des enregistrements avec des noms de villes accidentellement mal orthographiés (qui ne correspondraient finalement pas).
Je suis sûr que vous aurez à faire un peu plus de recherche, mais votre requête ressemble à quelque chose comme:
select cust.*, city.* from customers cust inner join customer_locations cl on
cust.customer_id = cl.customer_id inner join locations city on cl.city_id = city.city_id
where city.name = 'Anand';
Si je ne me trompe pas, dois-je utiliser au lieu de charIndex% ...% ? – Pankaj