大家好,这是我关于Stackoverflow的第一篇文章:)
我的问题对你们来说可能很简单,但我不知道出什么问题了...
SELECT *
FROM ecrit INNER JOIN
friends f
ON f.idfriend = ecrit.idAuteurPost
WHERE ecrit.idAuteurPost = 2 OR f.isvalidate = 1
ORDER BY dateEcrit DESC
这让我回来了:
我想要的是相同的结果,只是没有返回两次。我尝试使用DISCTINCT
和GROUP BY
,但没有成功。感谢您的时间和耐心。
见。
答案 0 :(得分:0)
发表评论的时间有点长。
我发现您的结果集中没有重复的结果。在成对的结果中,id_user
彼此不同。尚不清楚您想要什么,但也许exists
是:
SELECT e.*
FROM ecrit e
WHERE e.idAuteurPost = 2 OR
EXISTS (SELECT 1
FROM friends f
WHERE f.idfriend = e.idAuteurPost AND
f.isvalidate = 1
)
ORDER BY e.dateEcrit DESC;
答案 1 :(得分:0)
是的,由于iduser是不同的,因此结果的确不是真正重复的,因此,如果您不使用iduser,请在查询中指定您要使用的字段,然后将iduser排除在外,我认为像这样:
SELECT ecrit.dateEcrit, friends.isValidate, ... FROM
...