嗨我在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,我希望得到所有在线的朋友
所以我会执行一些像:
这样的SQLSELECT * FROM friends WHERE iduser=44 AND SELECT FROM * FROM users WHERE isonline=1
我知道我不能这样做,我也搜索stackowerflow,我发现一些不适合我 我只想得到类似的东西:(如果用户44)
10 Joe joe@yahoo.com
我不想让自己 谢谢你的所有答案
答案 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