Альтернативный метод JOIN, как упоминал Химаншу:
Таблица
drop table if exists userinfo;
create table userinfo (
id int,
email varchar(200),
pass varchar(200)
);
insert into userinfo values
(1, 'abc@abc.com', ''),
(2, '123@abc.com', ''),
(3, 'xyz@abc.com', '');
drop table if exists transfers;
create table transfers (
transferid int,
account varchar(200),
accountto varchar(200),
item varchar(200),
created_date datetime
);
insert into transfers values
(1, 'abc@abc.com', 't@abc.com', 'Book1', date_sub(now(), interval 1 hour)),
(2, '123@abc.com', 't@abc.com', 'Book2', date_sub(now(), interval 40 hour)),
(3, 'xyz@abc.com', 't@abc.com', 'Book3', date_sub(now(), interval 20 hour));
Запрос
select u.id, u.email
from userinfo u
left join transfers t
on u.email = t.account
and t.created_date >= date_sub(now(), interval 24 hour)
where t.transferid is not null;
Результат
id email
1 abc@abc.com
2 xyz@abc.com
Пример: https://rextester.com/UYM78253