日期:2014-05-16  浏览次数:20928 次

sql问题
表1(t1):
        ID         Name           Description         KeyWords
        3           binnet         just   for   test       1,3,5
        4           zhibin         test   too                 1,2,3
        6           gong             test3                       2,6
表2(t2):
        ID         Col2         KeyWords
          1         just           3,5
          2           ad             1,2,3

上面是我的两个表t1和t2,我现在想根据表2的keywords检索出表1中的数据,条件是
      表一的keywords字段包含有表2中的keywords字段中的任何一个值


比如,我要根据表2中的ID为1的记录选择表1中keywords包含了3或者5的记录(,为分隔符),结果为表一中的第3和第4条记录!

        谁来帮帮忙?

------解决方案--------------------
必须拆分表2中的Keywords的字段值,比如:字段值为 3,5

则拆分后得到的是3和5,然后据此查询表1的数据,如:

select * from t1 where ", " & KeyWords & ", " like "*,3,* "
union
select * from t1 where ", " & KeyWords & ", " like "*,5,* "

如果在纯Access中用*通配符,在ADO串中用%


或者也可以用instr()函数,但前提都是需要先拆分t2的KeyWords
------解决方案--------------------
没有,只有拆分字段
------解决方案--------------------
你要是ACCESS环境用,就自己写个函数了