类似于“爱好”的查询怎么做啊

limd 2004-08-10 12:10:41
我用复选框收集并保存的 爱好 字段中
有记录:
1 旅游,电影,音乐
2 逛街,赌博
3 旅游,电影,音乐,逛街
...
我要做个查询
旅游,电影,音乐,逛街,赌博
都列出来
我随便勾选那几个
只要里面原来包含这几个爱好的都可以显示

怎么做?
...全文
134 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mustapha 2004-08-19
  • 打赏
  • 举报
回复
王道士的方法很好,只是有1点不对。应该是1,2,4,8。。。,不能有0,否则怎么知道这个0到底选没选。
kinglately 2004-08-18
  • 打赏
  • 举报
回复
这样加起来有的时候会很大,不如这样,用二进制
比如
旅游->0 电影->1 音乐->2 逛街->4 赌博->8

1 旅游,电影,音乐 ---> 3
2 逛街,赌博 ---> 12
3 旅游,电影,音乐,逛街 ---> 13


其实这和 zhangchang 的办法一样,只是这样数据会小一点
limd 2004-08-18
  • 打赏
  • 举报
回复
呵呵 楼上的能否详细点,偶是菜菜
zhangchang 2004-08-11
  • 打赏
  • 举报
回复
偶觉得还是应该把爱好放在一个单独的表里比较好,不然要是增加几个爱好,数据库这边就要改表结构,变动太大。

可以为不同的爱好设定一个二进制特征值,然后在字段中累加。
比如:
旅游->1 电影->10 音乐->100 逛街->1000 赌博->10000

1 旅游,电影,音乐 ---> 111
2 逛街,赌博 ---> 11000
3 旅游,电影,音乐,逛街 ---> 1111
这样累加的值代表一种特定的爱好组合,而且不会重复。
wifi2018 2004-08-11
  • 打赏
  • 举报
回复
帮你顶
limd 2004-08-10
  • 打赏
  • 举报
回复
数据库已经有了啊~ 不能改了
limd 2004-08-10
  • 打赏
  • 举报
回复
比如
我在查询表单勾选了
旅游,音乐
提交的值是 旅游,音乐
符合的记录是 1 3
但如果用like的话 是查不出任何记录的
mjpclab 2004-08-10
  • 打赏
  • 举报
回复
有几个爱好就建几个字段,true/false类型,这不就好了吗?

"....... where 旅游=" &cbool(request.form("旅游"))" & " and 电影=" & cbool(request.form("电影")) & " and .........."
wxzc 2004-08-10
  • 打赏
  • 举报
回复
用 like 啊

"select * from …… where …… like …… Order By id Desc"

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧