我正在开发一个PHP/Jquery自动建议工具,它将查询一个大的标签表,但我需要一些关于db模式的建议,它将返回相关的标记以及基于匹配的结果。
例如:
我输入'Web':
结果
'Web‘
‘网页设计师’
‘网络分析师’
还有相关的标签..。
'PHP‘
'Flash程序员‘
因此,很明显,每个标记都需要一个具有某种关系或血统值的列.做这件事最好的方法是什么?
谢谢!
-更新?
当然--再次感谢你的帮助!
这是桌子..。
标签
Id TagName
1名Web开发人员
2网页设计师
3网络分析员
4 PHP开发人员
5 Flash程序员
RelatedTags
TagId RelatedTagId强度
1 4 0
1 5 7
由于'Flash程序员‘的强度值是7,我希望它出现在PHP程序员之前。(希望格式足够清晰。)
再次感谢!
发布于 2010-08-11 08:47:26
表标签
Create Table Tags (Id int, TagName varchar(50))表RelatedTags (这两个字段都是FK to Tags(Id) )
Create Table RelatedTags(TagId int, RelatedTagId int)查询选择标记匹配的输入和相关标记
SELECT Id, TagName, Strength
FROM Tags
WHERE TagName LIKE 'Web%'
UNION
SELECT Id, TagName, Strength
FROM Tags
WHERE tags.Id IN (SELECT RelatedTagId
FROM Tags t
JOIN RelatedTags r
ON (t.Id = r.TagId)
WHERE t.tagName LIKE 'Web%')
ORDER By 3 DESChttps://stackoverflow.com/questions/3456690
复制相似问题