关于分类多选,如何查询某个分类的信息,求SQL句子

wsjrzjp 2012-04-26 09:23:34
记录某字段存储了当前记录的分类信息,如
blog_cateid=1,11,13,133
如何查找某个分类下的所有记录。?
比如现在查找分类ID为3的记录?

SQL句子如何写?
谢谢。

-------------------------------
我现在是这样使用的
select company_name... from databasetable where blog_cateid like '%3%'
这样做法如果是数量小还满过的去,但我现在实际情况是每个分类下都有可能有几十万的数据,这样查询的速度就太慢,不知道还有没别的办法解决这速度查询问题,还是这样类别多选择就这一方法解决
...全文
166 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wsjrzjp 2012-04-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
id设成int,直接id=3
[/Quote]

字段里有很多多选出来,不能直接等于啊
wsjrzjp 2012-04-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
如果是字符型要怎么做?
[/Quote]

如果是使用id也会出现类似字符的问题
orochiheart 2012-04-28
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
比如现在查找分类ID为3的记录?

SQL句子如何写?
谢谢。
[/Quote]

记录某字段存储了当前记录的分类信息,如
blog_cateid=1,11,13,133
如何查找某个分类下的所有记录。?
比如现在查找分类ID为3的记录?

SQL句子如何写?
谢谢。

-------------------------------
我现在是这样使用的
select company_name... from databasetable where blog_cateid =3


你写的那个意思是blog_cateid字段中包含3这个字符的数据全部取出 这样搞似乎意义不大?
wsjrzjp 2012-04-28
  • 打赏
  • 举报
回复
大家觉得这数据库表字段要怎么建比较好?
  • 打赏
  • 举报
回复
id设成int,直接id=3
wsjrzjp 2012-04-28
  • 打赏
  • 举报
回复
没有具体的方法?
lyserver 2012-04-28
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]
引用 7 楼 的回复:
id设成int,直接id=3


字段里有很多多选出来,不能直接等于啊
[/Quote]
修改数据库设计,需要拆表。
比如博客收藏功能,首先他有一个用户表,分别注册用户的信息,然后再有一个收藏表,记录每个用户收藏的博客,两表是一对多的关系,使用用户ID作关联。
wsjrzjp 2012-04-27
  • 打赏
  • 举报
回复
如果是字符型要怎么做?
@信心 2012-04-27
  • 打赏
  • 举报
回复
sql 不难写,关键要优化数据库设计
lyserver 2012-04-27
  • 打赏
  • 举报
回复
不能用字符型,比如%13%,结果会包含13、133,这是不正确的,虽然字符型也可以通过全文索引来提高速度,但准确度太底了。
lyserver 2012-04-27
  • 打赏
  • 举报
回复
既然是ID,则使用INT型,然后建索引即可。
wsjrzjp 2012-04-26
  • 打赏
  • 举报
回复
自己顶顶

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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