У меня есть две таблицы в базе данных. В обоих случаях, столбец id является ключом.
TABLE 1: users
(int) (String)
id | email |
------------------------
0 | one@mail.co |
1 | two@mail.co |
2 | three@mail.co|
3 | four@mail.co |
------------------------
TABLE 2: users_availability
(int) (TIME) (TIME)
id | from_time | to_time
---------------------------------------
0 | 12:00 | 14:00
1 | 11:15 | 15:00
2 | 13:00 | 14:00
3 | 11:30 | 14:30
---------------------------------------
Что я хочу?
Мне нужен запрос, который с учетом электронной почты адрес в таблице users (например, 'one@mail.co') возвращает список идентификаторов тех пользователей, у которых значение from_time <= равно идентификатору, связанному с электронной почтой, и to_time> = чем то идентификатора, связанного с электронной почтой.
Пример:
С учетом адреса электронной почты 'one@mail.com' запрос должен вернуть идентификаторы 1 и 3.
Что я пробовал?
"SELECT user_avaiability.id
FROM user_avaiability
INNER JOIN users_availability
ON (users_availability.from_time >= (SELECT users.id
FROM users WHERE email='one@gmail.com')
/*lacking reference to from_time*/
AND users_availability.to_time <= (SELECT users.id
FROM users WHERE email='one@gmail.com'))";
/*lacking reference to to_time*/
Информация базы данных:
Server: Localhost via UNIX socket
Server type: MariaDB
Server connection: SSL is not being used Documentation
Server version: 10.4.11-MariaDB - Source distribution
Protocol version: 10
User: root@localhost
Server charset: UTF-8 Unicode (utf8mb4)