sql - Selecting a user's friend's events -
i have these information :
table "users" =>
**id** **name** 1 2 b 3 c 4 d 5 e
table "friends" =>
**senderid** **receiverid** **state** 1 2 x 2 3 ok 3 1 ok 3 4 ok 5 3 ok 5 4 ok
table "events" =>
**senderid** **receiverid** **text** 1 1 3 ssss 2 3 1 dsadsa 3 2 3 safsdf 4 3 5 fgfdgfd 5 4 3 fgfhgfh 6 5 4 sad sad
my question how events of user's friends in 1 sql statement using joins .
for example :=>
- userid : 1
- his friends : 3 (state = ok)
- friends events : 1, 2, 3, 4, 5 (events 1 5 have userid 3 considered friend user 1 )
any .. ;) !!
you didn't specify name first column in events
table i've called row_id
:
select u1.id user_id, u1.name user_name, u2.id friend_user_id, u2.name friend_user_name, e1.row_id, e1.text event_text users u1 inner join friends f1 on ( u1.id = f1.receiverid or u1.id = f1.senderid ) , f1.state = 'ok' inner join users u2 on u2.id = f1.senderid inner join events e1 on ( u2.id = e1.receiverid or u2.id = e1.senderid ) u1.id = 1;
Comments
Post a Comment