Result criteria: Regardless of the result If we are ahead by 3 goals or more If we are ahead by 2 goals or more If we are ahead by 1 goal or more If we are ahead by 1 goal If it's a draw If we are behind by 1 goal If we are behind by 1 goal or more If we are behind by 2 goals or more If we are behind by 3 goals or more Time criteria: At any time After 15 minutes After 30 minutes After 45 minutes After 60 minutes After 75 minutes After 90 minutes After 105 minutes After 120 minutes Set shooting to Set tackling to Set pressure to Set formation to Set playstyle Substitute 1 Substitute 2 Substitute 3 ### create special subs too, with different codes: Sub-worst-performing-defender with X Sub-worst-performing-midfielder with X Sub-worst-performing-attacker with X Use in all matches Use in league and cup matches Use only in league matches Use only in cup matches Use only in friendlies Perform this event as far as possible even if we run out of substitutions (Y/N) +-----------------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------------+---------+------+-----+---------+-------+ | user_id | int(11) | YES | | NULL | | | id | int(11) | YES | | NULL | | | result_criteria | int(11) | YES | | NULL | | | time_criteria | int(11) | YES | | NULL | | | shooting | int(11) | YES | | NULL | | | tackling | int(11) | YES | | NULL | | | preassure | int(11) | YES | | NULL | | | playstyle | int(11) | YES | | NULL | | | formation | int(11) | YES | | NULL | | | player_off | int(11) | YES | | NULL | | | player_on | int(11) | YES | | NULL | | | active | int(11) | YES | | NULL | | +-----------------+---------+------+-----+---------+-------+ create table new_event_tbl( user_id int, id smallint unsigned, result_criteria smallint unsigned, time_criteria smallint unsigned, match_type_criteria smallint unsigned, perform_regardless_of_subs tinyint unsigned, shooting smallint, tackling smallint, pressure smallint, playstyle smallint, formation smallint, player_off_1 smallint, player_on_1 smallint, player_off_2 smallint, player_on_2 smallint, player_off_3 smallint, player_on_3 smallint, active tinyint unsigned ); create index event_user_id on new_event_tbl(user_id); Email this report once per day maybe? select count(*) as counter, country from details_tbl, user_product_tbl where details_tbl.user_id=user_product_tbl.user_id group by country