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

Popular posts from this blog

c++ - How do I get a multi line tooltip in MFC -

asp.net - In javascript how to find the height and width -

c# - DataTable to EnumerableRowCollection -