2011-11-30 49 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,但我只是不明白什么是解决方案? :) –