有一数据库, 结构如下:id            tag1             vb,c,xp
2             x,y,z
3             w,u,s
4             u,e,d
5             e,r,t,y,u,o
....tag字段是对记录的分类描述,每种分类描述是用逗号分隔的,但数量不定,内容不定。如何按照用户输入的内容来查找tag字段中包含相应内容的记录?关键是不固定顺序,不固定数量。如:输入z,x时,就能找到第二条记录
输入e时,就能找到第4和第5条记录。求一个最佳(简便、高效)方案!

解决方案 »

  1.   

    FeatureStr="xp"
    sql="select * from yourtable where tag like '%"+FeatureStr+"%'"
      

  2.   

    不行吧, 就象我上面的例子, 数据库中的数据是 x,y,z      
    但用户输入z,x时,就不行了吧。
      

  3.   

    sql="select * from 数据表 where tag like '%" & sFilter & "%'"其中sFilter 用于存放你期望查找的内容,比如 sFilter ="vb"
      

  4.   

    (续5L)要达到"输入z,x时,就能找到第二条记录"则可以这样dim ss as string
    dim sFilter as stringss="z,x"
    dim a() as stringa=split(ss,",")dim i as long
    for i=0 to ubound(a)
      if a(i)<>"" then
       if sfilter="" then
          sFilter =" tag like '%" & A(i) & "%'"
       else
          sFilter =sFilter & " OR tag like '%" & A(i) & "%'"
       end if
      end if  
    nextdim sql as string
    sql="select * from 数据表 where " & sfilter