2014-01-15 70 views
0

我有一个包含有关用户的各种信息(姓名,姓,名,.........),并包含三列的表格友谊users表:找好友用户

1. user_req:请求用户的用户名

2. user_acc:谁接受或拒绝作为朋友请求的用户的用户名的

3.状态:0,如果请求是未决的,1,如果user_req和user_acc是朋友

现在我想进行一个查询,返回所有用户(具有其所有特征:名称,姓氏,用户名......)谁是给定用户用户名的朋友。

我必须在两个表“朋友”和“用户”之间建立连接,但是如何实现?

+4

通过阅读这些文档。你可以从这里开始:http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html – fancyPants

+0

如果你想回答这个问题,请花点时间整理一下使其更具可读性。因为它站立这是一个非常低质量的问题http://stackoverflow.com/questions/how-to-ask – Liath

+0

你使用哪些DBMS? Postgres的?甲骨文? –

回答

0

类似下面应该做的伎俩:

select * from user, friendship where friendship.user_acc=? and friendship.user_req=user.name and friendship.status=1; 
+0

嘿,谢谢! :) – user245679

1

您可以使用此查询:

SELECT u.* 
FROM user u 
INNER JOIN friendship f ON u.username=f.user_acc 
WHERE f.user_acc = ? AND f.status = 1 
+0

谢谢,我用过这个! – user245679

+0

不客气:) – Sal00m