SQL从2个表中选择2个条件

时间:2013-11-20 16:01:08

标签: php mysql sql

嗨我在mysql中有两个表,我想从两个表中选择并列出两个条件都是真的。

Friends :
id         iduser     idfriend
0             44            56
1             44            102
2             10             66
3              10            85
4              44            10

Users:
id         name                email                   isonline
44         john          john@gmail.com                   1
10         joe           joe@yahoo.com                    1
185        mark          mark@so.com                      0

示例:即时通讯用户44,我希望得到所有在线的朋友

所以我会执行一些像:

这样的SQL
SELECT * FROM friends WHERE iduser=44 AND SELECT FROM * FROM users WHERE isonline=1 

我知道我不能这样做,我也搜索stackowerflow,我发现一些不适合我 我只想得到类似的东西:(如果用户44)

10 Joe joe@yahoo.com

我不想让自己 谢谢你的所有答案

3 个答案:

答案 0 :(得分:3)

这应该有效:

select u.* from friends f
join users u on f.idfriend = u.id
where f.iduser = 44 and u.isonline = 1

答案 1 :(得分:0)

SELECT * FROM friends f
INNER JOIN users u
ON f.idfriend = u.id
WHERE f.iduser = 44 AND u.isonline = 1

答案 2 :(得分:0)

您可以使用JOINS执行此操作。连接用于通常使用关系在两个表之间建立链接。在您的情况下,关系是用户(id)和朋友(iduser)。连接完成后,您可以从两个表中选择字段。

SELECT u.* FROM friends f
INNER JOIN users u 
ON f.idfriend = u.id
WHERE f.iduser = 44 AND u.isonline = 1