SELECT cf.FK_collection, c.collectionName,
uf.FK_userMe, uf.FK_userYou,
u.userId, u.username
FROM userFollows as uf
INNER JOIN collectionFollows as cf ON uf.FK_userMe = cf.FK_user
INNER JOIN collections as c ON cf.FK_collection = c.collectionId
INNER JOIN users as u ON uf.FK_userYou = u.userId
WHERE uf.FK_userMe = 2
嘿家伙。MySQL - 修复多条记录
我试图做这个查询,它当然不会按我想要的那样做,因为它返回多行,这在某种程度上是我想要的,但事实并非如此。让我试着解释一下:
我试图同时获得collectionFollows和userFollows,以显示用户在网站上的活动。但是,当这样做时,即使用户只跟随1,我也会有多行userFollows。这是因为我遵循多个collectionFollow。
所以,当我告诉我的结果将返回这样的:
John is following 'webdesign'
John is following 'Lisa'
John is following 'programming'
John is following 'Lisa'
我想知道如果我必须做出多个查询或者使用子查询?最佳做法是什么?那么我将如何编写查询呢?
如果你知道这个问题已被问了十亿次,你一定找到了至少一百万个答案。 – GolezTrol
@GolezTrol如果我有我不会写这个问题。我也在问什么是最好的做法,而不是其他问题。 – skolind
好的。最佳做法是首先编写一个可行的查询(您不知道),然后您可以优化。我试图在我的回答中解决这个问题。 – GolezTrol