通过这个相关性查询,我试图选择/查找一个标记 tags
. tag
“计算思维”是通过从 articles
. id
然而,它似乎没有找到一个以上的标签。一旦我搜索'almere'它会给出所需的文章结果( article
. id
16和15)
SELECT s.seoUrl, a.*,
(
(
if (t.tag LIKE '%computational%',7,0)
)+
(
if (a.title LIKE '%computational%',5,0)
)+
(
if (a.shortDescription LIKE '%computational%',4,0)
)+
(
if (a.content LIKE '%computational%',3,0)
)+
(
if (m.name LIKE '%computational%',2,0)
)+
(
if (s.seoUrl LIKE '%computational%',1,0)
)
) as relevance
FROM articles a
LEFT JOIN article_tag at ON at.articleId = a.contentId
LEFT JOIN seoUrls s ON s.contentId = a.contentId
LEFT JOIN tags t ON at.tagId = t.contentId
LEFT JOIN article_category ac ON ac.articleId = a.contentId
LEFT JOIN menu m ON m.contentId = ac.categoryParentId
WHERE a.published = 'on'
GROUP BY a.contentId
HAVING relevance > 0
ORDER BY relevance DESC, a.views DESC
我想我在选择标签时犯了一个很大的错误,但是我似乎找不到解决方法,有什么想法吗?
小提琴:http://sqlfiddle.com/#!9/7a9d0f9/1号
暂无答案!
目前还没有任何答案,快来回答吧!