我有三个表格:posts,tags和posts_has_tags(它们促进了帖子和标签之间的多对多关系)。帖子可以有任意数量的标签。排除具有多对多关系的行
'信息' 表中有以下栏目: idposts 文本
的 '标签' 表中有这些: idtags 名
至于 'posts_has_tags' 表: posts_idposts tags_idtags
我不能做的是提出一个查询来选择所有帖子,除了那些在'name'列中有一个标签(或多个标签)的标签米它似乎应该包含一个“不存在”,但我不能完全包围它。
非常感谢您的帮助。
编辑:
此外,是否有可能限制结果在同一时间设置为特定的标签?例如:
标签为排除:A,B 标签包括:C
邮政与标签“一”,“F”并不能使它成为结果集(因为如果它的标签包括在无)。 带有标签'a','b','c'的帖子也不会将其放入结果集中(因为它的'a'和'b'是排除的标签)。 带有标签'c','f'的帖子会将它变成结果集,因为'c'是包含的标签。
最后编辑 我终于发现,似乎是工作,合理性能良好的解决方案:http://www.mysqldiary.com/a-many-to-many-relationship-table-solving-the-exclude-relation-problem/
不清晰(编辑部分),请你以更好的方式解释它(重定向?)。 – punit