2011-11-30 48 views
2

如何加入這樣的事情一起:多發性表和查詢

$query = ("SELECT * FROM profiles,follow 
      WHERE follow.friend ='$user' 
       AND follow.user !='$user' 
       AND profiles.user1 =follow.user 
      ORDER BY id DESC limit 20"); 

("SELECT * FROM profiles WHERE user1='$user'"); 

我需要查詢,以顯示兩個不同的東西我怎麼做。

感謝

湯姆。

+0

不知道如果我理解你的問題,但你想在一個查詢從第二取第一個查詢20行+中的所有行? – Ignas

+0

你的問題似乎沒有道理。你爲什麼一開始想要從配置文件中獲取20行,然後選擇一個用戶? –

回答

0

使用UNION:

SELECT * 
FROM profiles, follow 
WHERE follow.friend ='$user' 
    AND follow.user !='$user' 
    AND profiles.user1 =follow.user 
    ORDER BY id DESC limit 20 
UNION 
SELECT * 
FROM profiles 
WHERE user1='$user' 
0

試試這個

$query = "SELECT * FROM profiles,follow WHERE follow.friend ='$user' and follow.user !='$user' and profiles.user1 =follow.user and profiles.user1='$user' order by id DESC limit 20"; 
0

這一個?

SELECT 
    * 
FROM 
    follows 
INNER JOIN 
    profiles 
    ON (profiles.user1 = follow.user) 
WHERE 
    follow.friend = '{$user}' 
    AND follow.user != '{$user}' 
    AND profiles.user1 = '{$user}' 
ORDER BY 
    profiles.id DESC 
LIMIT 20 
+0

我改述了這個問題,你能否再次回答對不起。 –

+0

我解決了他的問題我保存了我需要的數據然後在以後使用它似乎解決了問題,謝謝。 –

+0

np,但我只是不明白什麼是解決方案? :) –