首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Access >

sql有关问题

2012-02-12 
sql问题表1(t1):IDNameDescriptionKeyWords3binnetjustfortest1,3,54zhibintesttoo1,2,36gongtest32,6表2(

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环境用,就自己写个函数了

热点排行