tables & columns = events .EventId .VenueId .EventDate .EventAgeRangeFemaleFrom .EventAgeRangeFemaleTo .EventAgeRangeMaleFrom .EventAgeRangeMaleTo .EventStatus .EventNotes venues .VenueId must = events.VenueId .VenueCapacity .VenueName .VenueTown bookings .CustomerId .EventId must = events.EventId customers .CustomerId must = bookings.CustomerId .CustomerGender mysql> select ev.*,bookings.*,cus.gender, count(cus.gender) as gender_count from ev inner join bookings on ev.id=bookings.event inner join cus on cus.id=booking s.cus group by ev.id, cus.gender; +------+----------+------+-------+------+--------+--------------+ | id | name | id | event | cus | gender | gender_count | +------+----------+------+-------+------+--------+--------------+ | 0 | Concert | 1000 | 0 | 100 | m | 2 | | 0 | Concert | 1000 | 0 | 200 | f | 2 | | 1 | Art Show | 2000 | 1 | 100 | m | 2 | +------+----------+------+-------+------+--------+--------------+ 3 rows in set (0.00 sec)