我正在努力开发一个网站,用户可以成为彼此的朋友,并可以在成为朋友的日期后看到他们的帖子........我已经发布了这个问题大约5-7天但是可以找不到任何解决方案........ !! 所以... 我有两张桌.......... 帖子和朋友 我的查询是
$sql = mysql_query("
SELECT *
FROM posts p
JOIN friends f
ON p.currentuserid = f.friendid
AND p.time >= f.friend_since
OR s.currentuserid=$myid
WHERE f.myid=$thisid
ORDER BY p.postid DESC LIMIT 20");
其中$ myid是currentuserid,p.currentuserid是poss表中单元格的名称,friendid在friends表中。
这个查询一直在正常工作,但问题是在这个查询中,如果当前用户发布任何它显示两次的东西,即
my new post
mynew post
但在数据库中它是单项.....但是当前用户可以一次性看到他们的朋友帖子
我该如何解决这个问题
答案 0 :(得分:2)
此查询一直正常工作但问题是在此查询中,如果当前用户发布任何事物,它会显示两次
使用:
SELECT DISTINCT *
FROM posts p
JOIN friends f ON p.currentuserid = f.friendid
AND p.time >= f.friend_since
OR s.currentuserid=$myid
WHERE f.myid=$thisid
ORDER BY p.postid DESC
LIMIT 20
我添加了DISTINCT
关键字以删除重复项。通常我会使用GROUP BY
,但您没有提供列。