我正在使用一个数据库,该数据库设置为显示多个值,并用逗号分隔,如下所示:
txtSiblingsYearList
7,4
9,6
8,3,N
8,3,N
5,3
5,3
我需要能够对此进行查询,并且只带回具有R,N,1、2、3、4、5、6中至少2个的记录
我不确定这是否可以通过将数据存储在数据库表中的方式来完成。有谁知道做到这一点的方法。我当前的查询如下:
SELECT
[txtSchoolID]
,[txtTitle]
,[txtForename]
,[txtSurname]
,[txtForm]
,[intNCYear]
,[intFamily]
,[txtSiblingsIDList]
,[txtSiblingsNameList]
,[txtSiblingsFormList]
,[txtSiblingsYearList]
FROM [iSAMS].[dbo].[TblPupilManagementPupils]
Where (intSystemStatus = 1)
AND (intNCYear <7)
AND (txtSchoolID NOT LIKE txtSiblingsIDList)
Order By intFamily
任何帮助表示赞赏。
答案 0 :(得分:3)
您不应以逗号分隔的字符串存储值列表。那不是SQL的处理方式。结果查询无法优化,字符串函数也不是SQL的优势。
如果您坚持使用这种格式,则可以添加匹配项的数量:
do