2013-04-05 81 views
0

我有一个标记了网站的列表。我被困在一个查询使用,这是很快,并会允许“负面”标签。换句话说,就像当你搜索Google时一样--yahoo会搜索不包含雅虎的结果。mysql正面和负面标记过滤

我遇到的问题是标签在网站上。因此,如果用户搜索雅虎,该网站标记为雅虎,所以即使它与其他标签匹配,结果也不会显示出来。

表的结构是:

网站: ID |其他的东西..

标签: ID |标签(其中标签要么是雅虎或-yahoo)

任何帮助将不胜感激!

回答

0

您应该重新修改标签表,以便有一个评分字段,例如,一个简单的

id | tag | rating (bit) 

所以你只商店“雅虎”在tag领域,并保持+/-东西的收视率领域。

... WHERE tag='yahoo' AND rating=XXX 

如果你不能返工,那么你就必须修改您的where子句

... WHERE tag='yahoo' OR tag='-yahoo'