求助:如何查询数组里包含已知数组中某个值的记录
ASP+MSSQL:
BBB为表MyData的字段,数组的值是不确定的,可能为“333,1234,1,23,2311”或“333”或“2342,12,232”
AAA为查询条件,也是不确定的数组,可能为“3313,934,1,23,26311”或“313”或“23142,122,232”
,现在要找出数据库里BBB包含AAA其中1个值的所有记录
AAA=rs("AAA")
select ID,Title,BBB from MyData where ?
------解决方案--------------------asp 先 split AAA数组
然后 循环查询AAA(i)
查询 select ID,Title,BBB from MyData where charindex(','+AAA(i)+',' , ','+BBB+',')>0
办是可以办到,不过效率低
------解决方案--------------------拆分,然后拼接SQL
<%
AAA=rs("AAA")
Arr=split(AAA,",")
sql="select ID,Title,BBB from MyData where 1=0 "
for i=0 to ubound(Arr)
sql=sql&" or charindex('"&Arr(i)&"',','+BBB+',')>0"
next
...
%>