0

我有 3 个表(关注、发帖、用户)

follow 有 2 个字段 -> profile_id , following_id

帖子有 3 个字段 -> post_id、profile_id、内容

用户有 3 个字段 -> profile_id、first_name、last_name

我想要匹配的 follow.profile_id 值为 1。

当我运行下面的 SQL 语句时,我得到了获取正确数据的第一步。但是,我现在想将此结果集的 posts.profile_id 与 users 表进行匹配,以便为所有列出的帖子显示每个名称(名字和姓氏)。

感谢您的帮助!:)

前任:

  SELECT * 
    FROM follows 
    JOIN postings ON follows.following_id = postings.profile_id 
   WHERE follows.profile_id = 1 
4

4 回答 4

1

采用:

  SELECT p.*,
         u.first_name,
         u.last_name
    FROM POSTINGS p
    JOIN FOLLOWS f ON f.following_id = p.profile_id
                  AND f.profile_id = 1
    JOIN USERS u ON u.profile_id = p.profile_id
ORDER BY tweets.modified DESC
于 2010-05-24T20:38:41.433 回答
1
SELECT * 
FROM follows, postings, users
WHERE follows.following_id = postings.profile_id 
AND users.profile_id = follows.profile_id
AND follows.profile_id = 1 
ORDER BY tweets.modified DESC 
于 2010-05-24T20:38:49.203 回答
1

似乎很容易将连接扩展到另一个表......也许我错过了问题的某些部分!

    select 
      f.*,
      p.*,
      u.*
    from 

      follows f

          inner join 
      postings p
          on f.following_id = p.profile_id

          inner join
      users u
          on p.profile_id = u.profile_id


    where follows.profile_id = 1
于 2010-05-24T20:39:00.777 回答
1

采用:

SELECT * 
    FROM follows 
    JOIN postings ON follows.following_id = postings.profile_id 
    INNER JOIN users on postings.profile_id = users.profile_id
   WHERE follows.profile_id = 1 
ORDER BY tweets.modified DESC
于 2010-05-24T20:39:14.630 回答