sbh
@sbh

Как сделать JOIN с условием BETWEEN?

Есть 1 временная таблица, содержит сессии и их время:
id session_start session_end
132123 2020-04-29 11:02:02 2020-04-29 12:01:02
132123 2020-04-29 16:03:02 2020-05-01 20:02:22
...

есть 2 таблица - в ней запросы с временными метками:
client query timestamp
132123 first_data 2020-04-29 16:03:32
321231 second_data 2020-04-29 16:03:33
312332 first_data 2020-04-29 16:03:33
132123 third_data 2020-04-30 17:03:32
...

Необходимо собственно отобрать записи из 2 таблицы которые удовлетворяют условиям:
1) client = id
2) timestamp попадает в период сессии

Думаю тут необходимо использовать JOIN, но корректный запрос составить не выходит.
  • Вопрос задан
  • 875 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
SELECT *
  FROM `t1`
  JOIN `t2` ON `t2`.`client` = `t1`.`id`
    AND `t2`.`tiimestamp` BETWEEN `t1`.`session_start` AND `t1`.`session_end`
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы