我有一个包含帖子,标签和tag_ref链接表的应用。我想查询具有特定标记关联的帖子。
数据库结构如下:
帖子
ID
体
city_id
tags_ref
ROW_ID
表
TAG_ID
代码
ID
safe_tag
标签
所以tags_ref是帖子和标签之间的链接表。
在帖子中添加了一些标签后,我现在在查询中获得了重复记录。
即使有这个查询:
SELECT P.* FROM posts as P WHERE P.city_id = 2
即使我没有在这里加入表格,只查找city_id字段设置为2的帖子,我仍然只能获得与其相关标签的记录的重复记录。
我也试过了:
DISTINCT (P.id), P.* FROM posts as P WHERE P.city_id = 2
我知道我的帖子表中只有7行,所以我知道重复的记录实际上并不存在,因为我正在计算7个独特的帖子。
任何人都可以帮我弄清楚我哪里出错了吗?
数据库是MySQL
谢谢,
比利
答案 0 :(得分:0)
DISTINCT (P.id), P.* FROM posts as P WHERE P.city_id = 2
当其他字段(P. *)中的某些值不同时,此处的DISTINCT不执行任何操作。尝试在没有过滤器的情况下查询整个表格帖子,看看你到底有什么。