1

我有一个包含字段 ID、名称和主题 ID 的表。

其中 SubjectID 有许多带有逗号分隔符的值,例如。1,5,6,8

现在如果传递参数 5,那么我想找到 SubjectID 中有 5 的所有行。

我使用了 findstring 但它不起作用。

那么如何在 Sql server 2008 中实现这一点。

4

1 回答 1

5
SELECT  *
FROM    TableName
WHERE   ',' + csvValue + ',' LIKE '%,' + @value + ',%'

作为建议,您需要将表构造为 3 表设计,假设您喜欢将 a 映射StudentSubject. 这似乎是Many-to-Many一种关系。

学生桌

  • 学生证 (PK)
  • 学生姓名
  • 其他栏目...

主题表

  • 主题ID
  • 主题名称
  • 其他栏目...

Student_Subject 表

  • StudentID (FK) 和 SubjectID 的复合主键
  • 主题 ID (FK)
于 2013-03-28T05:21:36.287 回答