Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.89 KB | None | 0 0
  1. id name
  2. -------------
  3. 1 post
  4. 2 like
  5. 3 follow
  6. 4 favorite
  7. 5 tag
  8. 6 share
  9.  
  10. id (int)
  11. user_id (int)
  12. action_id (tinyint)
  13. target_id (int)
  14. object_id (tinyint)
  15. date_created (datetime)
  16.  
  17. id name
  18. -------------
  19. 1 media
  20. 2 scene
  21. 3 brand
  22. 4 event
  23. 5 user
  24.  
  25. id (int)
  26. type (int)
  27. thumbnail (varchar)
  28. source (varchar)
  29. description (varchar)
  30.  
  31. id (int)
  32. user_id (int)
  33. name (varchar)
  34. city (int)
  35. address (varchar)
  36. starts (time)
  37. ends (time)
  38. about (varchar)
  39.  
  40. id (int)
  41. username (varchar)
  42. profile_picture (varchar)
  43. location (int)
  44.  
  45. id (int)
  46. user_id (int)
  47. action_id (tinyint)
  48. object_id (tinyint)
  49. date_created (datetime)
  50.  
  51. activity_id (int)
  52. target_id (int)
  53.  
  54. id (int)
  55. type (int)
  56. thumbnail (varchar)
  57. source (varchar)
  58. description (varchar)
  59.  
  60. id (int)
  61. user_id (int)
  62. name (varchar)
  63. city (int)
  64. address (varchar)
  65. starts (time)
  66. ends (time)
  67. about (varchar)
  68.  
  69. SELECT
  70. activity.id,
  71. activity.user_id,
  72. activity.action_id,
  73. action.name,
  74. activity.object_id,
  75. object.name,
  76. media.id as media_id,
  77. media.type,
  78. media.thumbnail,
  79. media.source,
  80. media.description,
  81. event.id as event_id,
  82. event.name,
  83. ...
  84. FROM
  85. activity
  86. LEFT JOIN action ON (action.id = activity.action_id)
  87. INNER JOIN mediaToActivity ON (mediaToActivity.activity_id = activity.id)
  88. LEFT JOIN media ON (media.id = mediaToActivity.target_id)
  89. INNER JOIN eventToActivity ON (eventToActivity.activity_id = activity.id)
  90. LEFT JOIN event ON (event.id = eventToActivity.target_id)
  91.  
  92. create table activity (
  93. id int,
  94. user_id int,
  95. action_id int,
  96. target_id int,
  97. object_id int,
  98. date_created datetime
  99. );
  100. create table action (
  101. id int,
  102. name varchar(80)
  103. );
  104. create table object (
  105. id int,
  106. name varchar(80)
  107. );
  108. create table media (
  109. id int,
  110. type int,
  111. thumbnail varchar(255),
  112. source varchar(255),
  113. description varchar(255)
  114. );
  115. create table event (
  116. id int,
  117. user_id int,
  118. name varchar(255),
  119. city int,
  120. address varchar(255),
  121. starts time,
  122. ends time,
  123. about varchar(255)
  124. );
  125.  
  126. -- setup
  127. insert into action values (1, "post");
  128. insert into object values (1, "media");
  129. insert into object values (2, "event");
  130.  
  131. -- new event
  132. insert into event values (1, null, "breakfast", null, "123 main st", null, null, "we will eat");
  133. insert into activity values (1, null, 1, 1, 2, null);
  134.  
  135. -- new media
  136. insert into media values (1, null, null, null, "new media");
  137. insert into activity values (2, null, 1, 1, 1, null);
  138.  
  139. SELECT *
  140. FROM
  141. activity
  142. left join event on (event.id = activity.target_id and activity.object_id = 2)
  143. left join media on (media.id = activity.target_id and activity.object_id = 1);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement