Запрос внутреннего соединения — VariableTime

  • Автор темы SLOG
  • Обновлено
  • 14, May 2024
  • #1
Привет у меня есть две таблицы «Meteter_Events» и «video_Events», а общие поля — «Дата» и «Время». Я хочу выполнить поиск meteo_events, где дата и время соответствуют любым видеособытиям, поэтому этот запрос работает нормально.

 SELECT
 meteor_events.event_id,
 meteor_events.fname,
 meteor_events.date,
 meteor_events.Time
FROM
 Video_Events
 INNER JOIN
 meteor_events
 ON
 Video_Events.Date = meteor_events.date AND
 Video_Events.Time = meteor_events.Time


Код (SQL): теперь я хочу уточнить это и вернуть результаты, в которых дата совпадает, но время совпадает, если метеор_евентс.Время составляет плюс-минус 2 секунды.

т.е. если Video_Events.Time, скажем, 00:12:34, верните результаты, если meteo_events.Time находится между 00:12:32 и 00:12:36.

Указатели оценены по достоинству

С уважением

Джон Берман

SLOG


Рег
21 Feb, 2006

Тем
83

Постов
228

Баллов
693
  • 21, May 2024
  • #2
Посмотрите на функции addtime и subtime.

ВЫБИРАТЬ

метеор_events.event_id,

метеор_events.fname,

метеор_события.дата,

метеор_евенты.Время

ОТ

Видео_События

ВНУТРЕННЕЕ СОЕДИНЕНИЕ

метеор_евенты

НА

Video_Events.Date = метеор_события.дата И

( Video_Events.Time >= subtime(meteor_events.Time, "2") или

Video_Events.Time <= addtime(meteor_events.Time, "2")

)
 

MrZUB


Рег
01 Jan, 2011

Тем
68

Постов
181

Баллов
531
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно