takeone-event-managment/mysql database/quries/search for activity classes in clubs.sql

38 lines
1.3 KiB
SQL

/* I am building this function to be used for listing clubs classes */
select
/* This section is to get club data */
upper(to_clubs.id) as 'clubId',
upper(to_clubs.title) as 'clubName',
to_clubs.logo as 'clubLogo',
/* This section is to get trainer data */
to_members.id as 'trainerId',
concat(to_members.fname, " ", to_members.lname) as 'trainerName',
to_members.picture as 'trainerPicture',
to_activities.id as 'activityId',
to_activities.name as 'activityName',
/* This section is to get class data */
to_clubs_classes.id as 'classId',
upper(to_clubs_classes.studentType) as 'classStudents',
to_clubs_classes.startTime as 'classStart',
to_clubs_classes.endTime as 'classEnd',
TIMEDIFF(to_clubs_classes.endTime, to_clubs_classes.startTime) as 'classDuration',
to_clubs_classes.studentLimit as 'classlimit',
/* This section is to calculate the number of class members */
(select count(*) from to_clubs_payments where to_clubs_payments.class = to_clubs_classes.id) as 'classMembers',
/* This section is to find out if the class is vacant or full */
if(false, upper('full'), upper('vacant')) AS 'classStatus'
from
/* Source Table */
to_clubs_classes
/* Linked Tables */
left join to_clubs on to_clubs_classes.club = to_clubs.id
left join to_activities on to_clubs_classes.activity = to_activities.id
left join to_members on to_clubs_classes.trainner = to_members.id