CREATE TABLE posts (
post_id BIGINT,
date DATE,
post_name VARCHAR( 200 ) ,
post_title VARCHAR( 200 ) ,
post_description VARCHAR( 200 ) ) ;
CREATE TABLE meta (
meta_id BIGINT,
meta_name VARCHAR( 200 ) ) ;
CREATE TABLE meta_data (
meta_data_id BIGINT,
meta_id BIGINT,
type VARCHAR( 50 ) ,
description VARCHAR( 200 ) ,
parent BIGINT,
count BIGINT) ;
CREATE TABLE meta_relationships (
relationship_id BIGINT,
object_id BIGINT,
meta_data_id BIGINT,
meta_order INT) ;
INSERT INTO posts
( post_id, date, post_name, post_title, post_description)
VALUES
( 1 , '2015-12-12' , 'post1' , 'Sylvester the cat' , 'Sylvester the cat has been causing trouble again.' ) ,
( 2 , '2015-12-12' , 'post2' , 'Tweety bird blues' , 'Sylvester the cat ate tweety bird.' ) ,
( 3 , '2015-12-12' , 'post3' , 'Polly the parrot' , 'Some pictures of Polly the parrot.' ) ,
( 4 , '2015-12-12' , 'post4' , 'Went to a movie' , 'Last night the family went and watched a movie.' ) ,
( 5 , '2015-12-12' , 'post5' , 'Joined a band' , 'I joined a band named led zeppelin.' ) ,
( 6 , '2015-12-12' , 'post6' , 'Saw my doctor' , 'Made an appointment with my doctor and he said I need to eat healthier.' ) ,
( 7 , '2015-12-12' , 'post7' , 'Worked out today' , 'I did some pushups and situps.' ) ,
( 8 , '2015-12-12' , 'post8' , 'Landed the job' , 'Got a new job today at stackoverflow!' ) ,
( 9 , '2015-12-12' , 'post9' , 'Doing maintenance on the boat' , 'Cleaned the carburetor in the boat today.' ) ,
( 10 , '2015-12-12' , 'post10' , 'Walked over to the skate park' , 'Fell and skinned my knee.' ) ;
INSERT INTO meta
( meta_id, meta_name)
VALUES
( 1 , 'animals' ) ,
( 2 , 'computers' ) ,
( 3 , 'entertainment' ) ,
( 4 , 'health' ) ,
( 5 , 'lifestyle' ) ,
( 6 , 'transportation' ) ,
( 100 , 'birds' ) ,
( 101 , 'insects' ) ,
( 102 , 'mammals' ) ,
( 103 , 'fish' ) ,
( 104 , 'hardware' ) ,
( 105 , 'internet' ) ,
( 106 , 'networking' ) ,
( 107 , 'games' ) ,
( 108 , 'music' ) ,
( 109 , 'videos' ) ,
( 110 , 'diet' ) ,
( 111 , 'fitness' ) ,
( 112 , 'medical' ) ,
( 113 , 'activities' ) ,
( 114 , 'family' ) ,
( 115 , 'religion' ) ,
( 116 , 'cars' ) ,
( 117 , 'motorcycles' ) ,
( 118 , 'trucks' ) ,
( 119 , 'pets' ) ,
( 120 , 'cats' ) ;
INSERT INTO meta_data
( meta_data_id, meta_id, type, description, parent, `count`)
VALUES
( 1 , 1 , 'category' , 'various information about animals.' , 0 , 9 ) ,
( 2 , 2 , 'category' , 'various information about computers.' , 0 , 4 ) ,
( 3 , 3 , 'category' , 'various information about entertainment.' , 0 , 22 ) ,
( 4 , 4 , 'category' , 'various information about health.' , 0 , 18 ) ,
( 5 , 5 , 'category' , 'various information about lifestyles.' , 0 , 9 ) ,
( 6 , 6 , 'category' , 'various information about transportation.' , 0 , 8 ) ,
( 7 , 100 , 'category' , 'various information about birds.' , 1 , 4 ) ,
( 8 , 108 , 'category' , 'various information about music.' , 3 , 6 ) ,
( 9 , 111 , 'category' , 'various information about fitness.' , 4 , 3 ) ,
( 10 , 116 , 'category' , 'various information about cars.' , 0 , 0 ) ,
( 10 , 119 , 'category' , 'various information about pets.' , 1 , 11 ) ,
( 10 , 120 , 'category' , 'various information about cats.' , 119 , 5 ) ;
INSERT INTO meta_relationships
( relationship_id, object_id, meta_data_id, meta_order)
VALUES
( 1 , 1 , 1 , 0 ) ,
( 2 , 1 , 119 , 1 ) ,
( 3 , 1 , 120 , 2 ) ,
( 4 , 2 , 1 , 0 ) ,
( 5 , 2 , 119 , 1 ) ,
( 6 , 2 , 100 , 2 ) ,
( 7 , 3 , 1 , 0 ) ,
( 8 , 3 , 119 , 1 ) ,
( 9 , 3 , 100 , 2 ) ,
( 10 , 4 , 3 , 0 ) ,
( 11 , 5 , 3 , 0 ) ,
( 12 , 5 , 108 , 1 ) ,
( 13 , 6 , 4 , 0 ) ,
( 14 , 7 , 4 , 0 ) ,
( 15 , 7 , 111 , 1 ) ,
( 16 , 8 , 5 , 0 ) ,
( 17 , 9 , 6 , 0 ) ,
( 18 , 10 , 6 , 0 ) ;
SELECT posts.post_id , posts.post_name , posts.post_title , posts.post_description , posts.date , meta.meta_name
FROM posts
LEFT JOIN meta_relationships ON meta_relationships.object_id = posts.post_id
LEFT JOIN meta_data ON meta_relationships.meta_data_id = meta_data.meta_data_id
LEFT JOIN meta ON meta_data.meta_id = meta.meta_id
WHERE meta.meta_name IN ( 'entertainment' )
AND NOT EXISTS ( SELECT meta_relationships.meta_order FROM meta_relationships WHERE meta_relationships.meta_order = 0
AND meta_relationships.meta_order = 1 ) ;
Q1JFQVRFIFRBQkxFIHBvc3RzICgKICBwb3N0X2lkIEJJR0lOVCwKICBkYXRlIERBVEUsCiAgcG9zdF9uYW1lIFZBUkNIQVIoMjAwKSwKICBwb3N0X3RpdGxlIFZBUkNIQVIoMjAwKSwKICBwb3N0X2Rlc2NyaXB0aW9uIFZBUkNIQVIoMjAwKSk7CiAKQ1JFQVRFIFRBQkxFIG1ldGEgKAogIG1ldGFfaWQgQklHSU5ULAogIG1ldGFfbmFtZSBWQVJDSEFSKDIwMCkpOwogCkNSRUFURSBUQUJMRSBtZXRhX2RhdGEgKAogIG1ldGFfZGF0YV9pZCBCSUdJTlQsCiAgbWV0YV9pZCBCSUdJTlQsCiAgdHlwZSBWQVJDSEFSKDUwKSwKICBkZXNjcmlwdGlvbiBWQVJDSEFSKDIwMCksCiAgcGFyZW50IEJJR0lOVCwKICBjb3VudCBCSUdJTlQpOwogCkNSRUFURSBUQUJMRSBtZXRhX3JlbGF0aW9uc2hpcHMgKAogIHJlbGF0aW9uc2hpcF9pZCBCSUdJTlQsCiAgb2JqZWN0X2lkIEJJR0lOVCwKICBtZXRhX2RhdGFfaWQgQklHSU5ULAogIG1ldGFfb3JkZXIgSU5UKTsKIApJTlNFUlQgSU5UTyBwb3N0cwoocG9zdF9pZCxkYXRlLHBvc3RfbmFtZSxwb3N0X3RpdGxlLHBvc3RfZGVzY3JpcHRpb24pClZBTFVFUwooMSwnMjAxNS0xMi0xMicsJ3Bvc3QxJywnU3lsdmVzdGVyIHRoZSBjYXQnLCdTeWx2ZXN0ZXIgdGhlIGNhdCBoYXMgYmVlbiBjYXVzaW5nIHRyb3VibGUgYWdhaW4uJyksCigyLCcyMDE1LTEyLTEyJywncG9zdDInLCdUd2VldHkgYmlyZCBibHVlcycsJ1N5bHZlc3RlciB0aGUgY2F0IGF0ZSB0d2VldHkgYmlyZC4nKSwKKDMsJzIwMTUtMTItMTInLCdwb3N0MycsJ1BvbGx5IHRoZSBwYXJyb3QnLCdTb21lIHBpY3R1cmVzIG9mIFBvbGx5IHRoZSBwYXJyb3QuJyksCig0LCcyMDE1LTEyLTEyJywncG9zdDQnLCdXZW50IHRvIGEgbW92aWUnLCdMYXN0IG5pZ2h0IHRoZSBmYW1pbHkgd2VudCBhbmQgd2F0Y2hlZCBhIG1vdmllLicpLAooNSwnMjAxNS0xMi0xMicsJ3Bvc3Q1JywnSm9pbmVkIGEgYmFuZCcsJ0kgam9pbmVkIGEgYmFuZCBuYW1lZCBsZWQgemVwcGVsaW4uJyksCig2LCcyMDE1LTEyLTEyJywncG9zdDYnLCdTYXcgbXkgZG9jdG9yJywnTWFkZSBhbiBhcHBvaW50bWVudCB3aXRoIG15IGRvY3RvciBhbmQgaGUgc2FpZCBJIG5lZWQgdG8gZWF0IGhlYWx0aGllci4nKSwKKDcsJzIwMTUtMTItMTInLCdwb3N0NycsJ1dvcmtlZCBvdXQgdG9kYXknLCdJIGRpZCBzb21lIHB1c2h1cHMgYW5kIHNpdHVwcy4nKSwKKDgsJzIwMTUtMTItMTInLCdwb3N0OCcsJ0xhbmRlZCB0aGUgam9iJywnR290IGEgbmV3IGpvYiB0b2RheSBhdCBzdGFja292ZXJmbG93IScpLAooOSwnMjAxNS0xMi0xMicsJ3Bvc3Q5JywnRG9pbmcgbWFpbnRlbmFuY2Ugb24gdGhlIGJvYXQnLCdDbGVhbmVkIHRoZSBjYXJidXJldG9yIGluIHRoZSBib2F0IHRvZGF5LicpLAooMTAsJzIwMTUtMTItMTInLCdwb3N0MTAnLCdXYWxrZWQgb3ZlciB0byB0aGUgc2thdGUgcGFyaycsJ0ZlbGwgYW5kIHNraW5uZWQgbXkga25lZS4nKTsgCgpJTlNFUlQgSU5UTyBtZXRhCihtZXRhX2lkLG1ldGFfbmFtZSkKVkFMVUVTCigxLCdhbmltYWxzJyksCigyLCdjb21wdXRlcnMnKSwKKDMsJ2VudGVydGFpbm1lbnQnKSwKKDQsJ2hlYWx0aCcpLAooNSwnbGlmZXN0eWxlJyksCig2LCd0cmFuc3BvcnRhdGlvbicpLAooMTAwLCdiaXJkcycpLAooMTAxLCdpbnNlY3RzJyksCigxMDIsJ21hbW1hbHMnKSwKKDEwMywnZmlzaCcpLAooMTA0LCdoYXJkd2FyZScpLAooMTA1LCdpbnRlcm5ldCcpLAooMTA2LCduZXR3b3JraW5nJyksCigxMDcsJ2dhbWVzJyksCigxMDgsJ211c2ljJyksCigxMDksJ3ZpZGVvcycpLAooMTEwLCdkaWV0JyksCigxMTEsJ2ZpdG5lc3MnKSwKKDExMiwnbWVkaWNhbCcpLAooMTEzLCdhY3Rpdml0aWVzJyksCigxMTQsJ2ZhbWlseScpLAooMTE1LCdyZWxpZ2lvbicpLAooMTE2LCdjYXJzJyksCigxMTcsJ21vdG9yY3ljbGVzJyksCigxMTgsJ3RydWNrcycpLAooMTE5LCdwZXRzJyksCigxMjAsJ2NhdHMnKTsKIApJTlNFUlQgSU5UTyBtZXRhX2RhdGEKKG1ldGFfZGF0YV9pZCxtZXRhX2lkLHR5cGUsZGVzY3JpcHRpb24scGFyZW50LGBjb3VudGApClZBTFVFUwooMSwxLCdjYXRlZ29yeScsJ3ZhcmlvdXMgaW5mb3JtYXRpb24gYWJvdXQgYW5pbWFscy4nLDAsOSksCigyLDIsJ2NhdGVnb3J5JywndmFyaW91cyBpbmZvcm1hdGlvbiBhYm91dCBjb21wdXRlcnMuJywwLDQpLAooMywzLCdjYXRlZ29yeScsJ3ZhcmlvdXMgaW5mb3JtYXRpb24gYWJvdXQgZW50ZXJ0YWlubWVudC4nLDAsMjIpLAooNCw0LCdjYXRlZ29yeScsJ3ZhcmlvdXMgaW5mb3JtYXRpb24gYWJvdXQgaGVhbHRoLicsMCwxOCksCig1LDUsJ2NhdGVnb3J5JywndmFyaW91cyBpbmZvcm1hdGlvbiBhYm91dCBsaWZlc3R5bGVzLicsMCw5KSwKKDYsNiwnY2F0ZWdvcnknLCd2YXJpb3VzIGluZm9ybWF0aW9uIGFib3V0IHRyYW5zcG9ydGF0aW9uLicsMCw4KSwKKDcsMTAwLCdjYXRlZ29yeScsJ3ZhcmlvdXMgaW5mb3JtYXRpb24gYWJvdXQgYmlyZHMuJywxLDQpLAooOCwxMDgsJ2NhdGVnb3J5JywndmFyaW91cyBpbmZvcm1hdGlvbiBhYm91dCBtdXNpYy4nLDMsNiksCig5LDExMSwnY2F0ZWdvcnknLCd2YXJpb3VzIGluZm9ybWF0aW9uIGFib3V0IGZpdG5lc3MuJyw0LDMpLAooMTAsMTE2LCdjYXRlZ29yeScsJ3ZhcmlvdXMgaW5mb3JtYXRpb24gYWJvdXQgY2Fycy4nLDAsMCksCigxMCwxMTksJ2NhdGVnb3J5JywndmFyaW91cyBpbmZvcm1hdGlvbiBhYm91dCBwZXRzLicsMSwxMSksCigxMCwxMjAsJ2NhdGVnb3J5JywndmFyaW91cyBpbmZvcm1hdGlvbiBhYm91dCBjYXRzLicsMTE5LDUpOwogCklOU0VSVCBJTlRPIG1ldGFfcmVsYXRpb25zaGlwcwoocmVsYXRpb25zaGlwX2lkLG9iamVjdF9pZCxtZXRhX2RhdGFfaWQsbWV0YV9vcmRlcikKVkFMVUVTCigxLDEsMSwwKSwKKDIsMSwxMTksMSksCigzLDEsMTIwLDIpLAooNCwyLDEsMCksCig1LDIsMTE5LDEpLAooNiwyLDEwMCwyKSwKKDcsMywxLDApLAooOCwzLDExOSwxKSwKKDksMywxMDAsMiksCigxMCw0LDMsMCksCigxMSw1LDMsMCksCigxMiw1LDEwOCwxKSwKKDEzLDYsNCwwKSwKKDE0LDcsNCwwKSwKKDE1LDcsMTExLDEpLAooMTYsOCw1LDApLAooMTcsOSw2LDApLAooMTgsMTAsNiwwKTsKIApTRUxFQ1QgcG9zdHMucG9zdF9pZCxwb3N0cy5wb3N0X25hbWUscG9zdHMucG9zdF90aXRsZSxwb3N0cy5wb3N0X2Rlc2NyaXB0aW9uLHBvc3RzLmRhdGUsbWV0YS5tZXRhX25hbWUKRlJPTSBwb3N0cwpMRUZUIEpPSU4gbWV0YV9yZWxhdGlvbnNoaXBzIE9OIG1ldGFfcmVsYXRpb25zaGlwcy5vYmplY3RfaWQgPSBwb3N0cy5wb3N0X2lkCkxFRlQgSk9JTiBtZXRhX2RhdGEgT04gbWV0YV9yZWxhdGlvbnNoaXBzLm1ldGFfZGF0YV9pZCA9IG1ldGFfZGF0YS5tZXRhX2RhdGFfaWQKTEVGVCBKT0lOIG1ldGEgT04gbWV0YV9kYXRhLm1ldGFfaWQgPSBtZXRhLm1ldGFfaWQKV0hFUkUgbWV0YS5tZXRhX25hbWUgSU4gKCdlbnRlcnRhaW5tZW50JykgCkFORCBOT1QgRVhJU1RTIChTRUxFQ1QgbWV0YV9yZWxhdGlvbnNoaXBzLm1ldGFfb3JkZXIgRlJPTSBtZXRhX3JlbGF0aW9uc2hpcHMgV0hFUkUgbWV0YV9yZWxhdGlvbnNoaXBzLm1ldGFfb3JkZXIgPSAwCkFORCBtZXRhX3JlbGF0aW9uc2hpcHMubWV0YV9vcmRlciA9IDEpOw==