Guest User

Untitled

a guest
Aug 19th, 2018
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. Friend Table with mysql
  2. friend
  3. =======
  4. - id
  5. - uid
  6. - fid
  7.  
  8. Sample Data
  9. ===========
  10. id uid fid
  11. 1 1 2
  12. 2 3 1
  13.  
  14. user
  15. ====
  16. - id
  17. - username
  18.  
  19. Sample Data
  20. ===========
  21. id username
  22. 1 saturngod
  23. 2 snow
  24. 3 John
  25.  
  26. SELECT `user`.id,`user`.username FROM friend
  27. INNER JOIN User
  28. ON user.id = friend.uid
  29. WHERE friend.fid = ( SELECT `id` FROM `User` WHERE `username`='saturngod')
  30.  
  31. UNION
  32.  
  33. SELECT `user`.id,`user`.username FROM friend
  34. INNER JOIN User
  35. ON user.id = friend.fid
  36. WHERE friend.uid = ( SELECT `id` FROM `User` WHERE `username`='saturngod')
  37.  
  38. SELECT u.id,u.username
  39. FROM user u
  40. INNER JOIN friend f ON (u.id = f.uid)
  41. WHERE u.username='saturngod'
  42. UNION ALL
  43. SELECT u2.id,u2.username
  44. FROM user u
  45. INNER JOIN friend f ON (u.id = f.uid)
  46. INNER JOIN user u2 ON (u2.id = f.fid)
  47. WHERE u.username='saturngod'
  48.  
  49. SELECT
  50. u.id as user_id
  51. ,u.username
  52. ,u2.id as friend_id
  53. ,u2.username as friendname
  54. FROM user u
  55. INNER JOIN friend f ON (u.id = f.uid)
  56. LEFT JOIN user u2 ON (u2.id = f.fid)
  57. WHERE 'saturngod' = u.username
  58.  
  59. SELECT
  60. u.id as user_id
  61. ,u.username
  62. ,GROUP_CONCAT(u2.id) AS friend_ids
  63. ,GROUP_CONCAT(u2.username) as friendnames
  64. FROM user u
  65. INNER JOIN friend f ON (u.id = f.uid)
  66. LEFT JOIN user u2 ON (u2.id = f.fid)
  67. WHERE 'saturngod' = u.username <<-- optional
  68. GROUP BY u.id
  69.  
  70. SELECT CASE WHEN user_id="$id" THEN friend_id ELSE user_id END AS friendID
  71. FROM user_friend WHERE user_id="$id" OR friend_id="$id" order by friendID ASC
Add Comment
Please, Sign In to add comment