CREATE TABLE Real_Events ( Id INT, Name1 VARCHAR, Name2 VARCHAR, Date INT, Group VARCHAR, ) CREATE TABLE Potential_Events ( Name1 VARCHAR, Name2 VARCHAR, Group VARCHAR, ) #### SELECT * from Events WHERE Group="physicists" AND Date>$event_date AND Date<=($event_date + $window)) #### SELECT * from Potential_Events WHERE Group="physicists" AND ( ( Name1="Alice" AND Name2="Bob" ) OR ( Name1="Alice" AND Name2="Charlie" ) OR ( Name1="Bob" and Name2="Charlie" ) ) #### SELECT * from Events WHERE Group="physicists" AND Name1="Alice" AND Name2="Bob" AND Date>$event_date) #### push (@{$lookup_group{$_->{"Group"}}}, $_) for @rows;