2010-05-24 27 views
0

我有3个表(如下,张贴,用户)联合收割机SQL语句

以下有2场 - > PROFILE_ID,following_id

张贴有3个领域 - > POST_ID,PROFILE_ID,内容

用户有3个字段 - > profile_id,名字,姓氏

我有一个我想匹配的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 

回答

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 
+0

非常感谢您,简单,直接使用! :) – ninu 2010-05-24 20:51:36

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 
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 
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