我在写这个查询时遇到了问题,这是我找不到的一个奇怪的关系。我想知道是否使用2个mysql查询并将结果与php合并会更好?...无论如何..所以在这里,我们走了。复杂的MySQL查询,多表 - 如何编写这种关系查询?
下面是我们使用的表..
- media -
id
userId
accessKey
internalName
type
created
modified
- reposts -
id
userId
mediaId
created
- users -
id
username
基本上,我想要做的就是一个结果集与谁贴吧用户相关联的媒体项目,然后还要在同一结果集,为已重新发布的媒体项目添加附加行,然后为已重新发布的媒体项目添加关联媒体项目的media.userId以用于用户名关联,请将reposts.userId与用户名关联。
下面是一个粗略的想法来说明,下面这两个示例查询需要工作为1来提供组合结果集。
SELECT media.*, users.username,
0 AS reposted
FROM media
LEFT JOIN users ON users.id = media.userId
SELECT media.id, media.accessKey, media.internalName, media.type, media.modified, users.username, reposts.userId, reposts.created,
1 AS reposted
FROM reposts
LEFT JOIN media ON media.id = reposts.mediaId
LEFT JOIN users ON users.id = reposts.userId
我该怎么做呢?或者我会更好地使用2个查询并将结果与PHP合并?
我可以说你想要某种Facebook的墙或叽叽喳喳类型的功能,我的帖子和帖子,我转发或转推也显示? – skv
你钉了它! ;) –