Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- id name
- -------------
- 1 post
- 2 like
- 3 follow
- 4 favorite
- 5 tag
- 6 share
- id (int)
- user_id (int)
- action_id (tinyint)
- target_id (int)
- object_id (tinyint)
- date_created (datetime)
- id name
- -------------
- 1 media
- 2 scene
- 3 brand
- 4 event
- 5 user
- id (int)
- type (int)
- thumbnail (varchar)
- source (varchar)
- description (varchar)
- id (int)
- user_id (int)
- name (varchar)
- city (int)
- address (varchar)
- starts (time)
- ends (time)
- about (varchar)
- id (int)
- username (varchar)
- profile_picture (varchar)
- location (int)
- id (int)
- user_id (int)
- action_id (tinyint)
- object_id (tinyint)
- date_created (datetime)
- activity_id (int)
- target_id (int)
- id (int)
- type (int)
- thumbnail (varchar)
- source (varchar)
- description (varchar)
- id (int)
- user_id (int)
- name (varchar)
- city (int)
- address (varchar)
- starts (time)
- ends (time)
- about (varchar)
- SELECT
- activity.id,
- activity.user_id,
- activity.action_id,
- action.name,
- activity.object_id,
- object.name,
- media.id as media_id,
- media.type,
- media.thumbnail,
- media.source,
- media.description,
- event.id as event_id,
- event.name,
- ...
- FROM
- activity
- LEFT JOIN action ON (action.id = activity.action_id)
- INNER JOIN mediaToActivity ON (mediaToActivity.activity_id = activity.id)
- LEFT JOIN media ON (media.id = mediaToActivity.target_id)
- INNER JOIN eventToActivity ON (eventToActivity.activity_id = activity.id)
- LEFT JOIN event ON (event.id = eventToActivity.target_id)
- create table activity (
- id int,
- user_id int,
- action_id int,
- target_id int,
- object_id int,
- date_created datetime
- );
- create table action (
- id int,
- name varchar(80)
- );
- create table object (
- id int,
- name varchar(80)
- );
- create table media (
- id int,
- type int,
- thumbnail varchar(255),
- source varchar(255),
- description varchar(255)
- );
- create table event (
- id int,
- user_id int,
- name varchar(255),
- city int,
- address varchar(255),
- starts time,
- ends time,
- about varchar(255)
- );
- -- setup
- insert into action values (1, "post");
- insert into object values (1, "media");
- insert into object values (2, "event");
- -- new event
- insert into event values (1, null, "breakfast", null, "123 main st", null, null, "we will eat");
- insert into activity values (1, null, 1, 1, 2, null);
- -- new media
- insert into media values (1, null, null, null, "new media");
- insert into activity values (2, null, 1, 1, 1, null);
- SELECT *
- FROM
- activity
- left join event on (event.id = activity.target_id and activity.object_id = 2)
- left join media on (media.id = activity.target_id and activity.object_id = 1);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement