我有一个查询打印分配给当前文章类别的所有文章
SELECT * FROM #__content WHERE catid='$catid'
在此表(下方)中,有些文章被分配给当前文章作为类似文章
assigned_id fav_id
1 45
1 12
1 53
SELECT fav_id FROM #__similar WHERE id='$id'
我希望它们隐藏在第一个查询中,该查询输出所有文章,包括一个被分配为相似的文章。因此,在此示例中,将排除ID为45,12,53的文章
答案 0 :(得分:2)
试试这个
SELECT * FROM #__content c
INNER JOIN #__similar s
ON c.article_id != s.fav_id
WHERE catid='$catid'
答案 1 :(得分:1)
完整查询:
SELECT distinct c1.*
FROM #__content c1
LEFT OUTER JOIN #__similar S on S.fav_id = c1.id
LEFT OUTER JOIN c2 on c2.catid='$catid' and c2.id = S.assigned_id
WHERE c1.catid='$catid' and c2.id is null
如您所见,查询将__content与__similar thourh fav_id连接起来,这意味着,查询是否正在查看此内容是否与其他内容相似。在最后一次加入中,我认为类似项目属于同一类别。