首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL 4表连接

MySQL 4表连接
EN

Stack Overflow用户
提问于 2015-06-23 02:31:49
回答 1查看 70关注 0票数 0

一段时间以来,我一直试图为这个4表连接获取适当的数据,但我似乎无法确定它。我试图从songs获取一个id列表,根据我在follows中跟踪的对象,并显示歌曲id,如果我的追随者是轨道的creator,或者只是重塑了它。

代码语言:javascript
复制
SELECT DISTINCT songs.id
FROM songs
LEFT JOIN follows ON follows.follower = 6
LEFT JOIN tracks ON tracks.creator = follows.following
LEFT JOIN reshares ON reshares.resharer = follows.following
WHERE
songs.id = tracks.containing_song
OR
songs.id = reshares.song
ORDER BY songs.last_updated DESC LIMIT 1

我不太清楚出了什么问题,但是当涉及到数据库连接时,我的知识非常有限。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-23 04:07:58

你可能需要的是两组的结合:

  • 用户使用id=6创建的歌曲如下
  • 用户使用id=6重塑的歌曲如下

由于您没有提供表模式,所以我使用在查询中提供的名称。

代码语言:javascript
复制
( SELECT DISTINCT s.id, s.last_updated
  FROM follows f
  JOIN tracks t ON t.creator = f.following
  JOIN songs s ON t.containing_song = s.id
  WHERE f.follower = 6 )
UNION
( SELECT DISTINCT s.id, s.last_updated
  FROM follows f
  JOIN reshares r ON r.resharer = f.following
  JOIN songs s ON r.song = s.id
  WHERE f.follower = 6 )
ORDER BY last_updated DESC
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30992919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档