高手帮忙,多表查询问题?这个查询该怎么写!(解决给高分!)
这个查询该怎么写?
两个表
表一 form
-------------------------------------------
| id | fname | fsort | fcontent| | 字段
-------------------------------------------
| 12 | f1 | A类 | ...... | 数据库记录
-------------------------------------------
......
-------------------------------------------
表二 sort
-------------------------------------------
| id | bsort | ssrot | gsort | 字段
-------------------------------------------
| 2 | 大类一 | 小类一 |A类,B类,C类| 数据库记录
-------------------------------------------
问题就是如何使表一里的fsort字段记录与表二的gsort记录对应起来;
已经有两个变量bsort,ssort;
可以查询出满足这两个变量的sort的gsort记录
select gsort from bsort='"&bsort&"' and ssort='"&ssort&"'
而我需要的是表一中的fname字段,满足的条件是fsort字段要属于
上面查询出来的gsort字段内数据;
这里介绍一下gsort这个字段:她实际是一个存储分类的字段,之间用豆号搁开
因为写如数据库的时候是用checkbox复选匡的直,所以里面的记录可以为一个
分类:如A类 也可以为两个:如B类,C类
也就是如何判断表一fsort字段内的数据是否属于(可以相等或为其中一个)
表二gsort字段内的数据
要求用一条语句写出来:
我是这样写的,但是查询的结果不是我想要的;
select form.fname from form,sort where sort.gsort like '%form.gsort%'
and sort.bsort='"&bsort&"' and sort.ssort='"&ssort&"'"
我想问题可能是出在'%form.gsort%'这里,程序执行的时候是否会把form.gsort当做字符窜来处理,而不是我想的当作数据表的一个字段呢?这点不明白;
我想过用instr函数来判断,但不知道该怎么写,请高手指点!