2010-12-15 4 views
0

quelque chose avec lequel j'ai lutté.SÉLECTIONNE des éléments d'un champ de base de données divisé par une virgule

J'ai un champ de table dans une base de données où je stocke plusieurs nombres, divisés par une virgule.

E.G. = TBL1 - Numberfield a (1,2,3,4,5,6,7,8,9,10,11,12)

Comment puis-je montrer toutes les lignes de TBL1 où le champ Number a 1 dedans. Ce que j'ai déjà fonctionne maintenant, mais quand je sélectionne 1, je sélectionne aussi 11, 12, ... comment éviter cela!

mon exemple de code:

WHERE  (tbl1.Numberfield LIKE '%' + @Numberfield + '%') 

Ty pour l'aide et votre temps!

+2

Ugh. C'est pourquoi les schémas non normalisés sont mauvais. Numberfield doit à la place être une table enfant, une ligne par numéro correspondant à la ligne parente. – Joe

Répondre

4

Il est préférable de changer votre schéma, mais vous pouvez essayer avec votre schéma actuel:

WHERE (',' + tbl1.Numberfield + ',' LIKE '%,' + @Numberfield + ',%') 
+0

Merci pour la solution, ça a marché! – Hans

+0

Cela suppose qu'il n'y a pas d'espace avant ou après les virgules. – Joe

Questions connexes