2013-11-20 49 views
0

嗨我有兩個表在mysql中,我想從他們兩個中選擇並列出兩個條件爲真的事情。SQL從2個表中選擇2個條件

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   [email protected]     1 
10   joe   [email protected]     1 
185  mark   [email protected]      0 

實例:IM用戶44,我想我所有的朋友這是網上

,所以我會exec的一些SQL這樣的:

SELECT * FROM friends WHERE iduser=44 AND SELECT FROM * FROM users WHERE isonline=1 

我知道我不能做這種方式我也搜索stackowerflow和我發現了一些沒有爲我工作 我只是想得到像這樣的東西(如果用戶44)

10喬[email protected]

,我不想讓自己 感謝您對所有的答案

回答

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

這應該工作:

select u.* from friends f 
join users u on f.idfriend = u.id 
where f.iduser = 44 and u.isonline = 1 
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 
+0

謝謝大家,試過這個,它的工作:) –