首页 新闻 搜索 专区 学院

如果查询SQL中的一个字段是否包含指定的值

0
悬赏园豆:10 [已解决问题] 解决于 2015-05-04 14:39

新闻表有个新闻Tag里面是1,67,87(数码,科技,IT)这样存的,如何通过Tag 1来搜索包含了这个标签的新闻呢...

慕容枫的主页 慕容枫 | 初学一级 | 园豆:110
提问于:2015-05-04 13:36
< >
分享
最佳答案
0

真的没法修改数据库结构的话,反正就是一个没几个人访问的网站,要用一个很慢的SQL查询也是能做出来的。

需要一点点变通技巧。

使用 select * from table where tag like '%,1,%' 这样查询,要求Tag前面后面都有一个",",

要不然就是自己在查询中加入前后的","。

收获园豆:10
爱编程的大叔 | 高人七级 |园豆:30753 | 2015-05-04 14:30

这也是个方法,那这种功能应该怎么设计结构呢

慕容枫 | 园豆:110 (初学一级) | 2015-05-04 14:33

@慕容枫: 最简单的一个方法是建一个表

保存NewID, Tag,这样查询速度就能保证了。

 

Select * from NewsTable where NewsID in 

    (Select NewsID from TagTable where Tag='1')

爱编程的大叔 | 园豆:30753 (高人七级) | 2015-05-04 14:37

..当初设计的时候没想过这个问题,吸取教训了..

慕容枫 | 园豆:110 (初学一级) | 2015-05-04 14:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册