Advertisement
Guest User

Untitled

a guest
Jan 28th, 2015
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. tables
  2. ------
  3.  
  4. message
  5. - id
  6. - created
  7. - sender
  8. - content
  9.  
  10. user_message
  11. - id
  12. - message_id
  13. - user_id
  14. - read
  15.  
  16. global_message
  17. - id
  18. - message_id
  19.  
  20.  
  21. all read messages
  22. -----------------
  23.  
  24. select
  25. m.*
  26. from
  27. user_message um
  28. inner join message m on (um.message_id = m.id)
  29. inner join global_message gm on (gm.message_id = m.id)
  30. where
  31. um.user_id = $user;
  32.  
  33. all unread messages
  34. --------------------
  35. select
  36. *
  37. from
  38. (select
  39. distinct message_id
  40. from
  41. (select message_id from user_message where user_id = $user
  42. union
  43. select message_id from global_message)
  44. ) ids
  45. inner join message m on (ids.message_id = m.id)
  46. left join user_message um on (m.id = um.message_id)
  47. where
  48. um.read is null;
  49.  
  50. all messages
  51. ------------
  52. select
  53. *
  54. from
  55. (select
  56. distinct message_id
  57. from
  58. (select message_id from user_message where user_id = $user
  59. union
  60. select message_id from global_message)
  61. ) ids
  62. inner join message m on (ids.message_id = m.id)
  63. left join user_message um on (m.id = um.message_id)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement