2010-05-24 64 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