Как назначить групповые идентификаторы из одной таблицы в строки в другой, основываясь на дате и времени между начальной и конечной датами? - PullRequest
0 голосов
/ 06 апреля 2019

У меня есть две таблицы. Таблица A имеет два столбца, один datetime, один числовой. В таблице B есть несколько столбцов, но три основных столбца этой проблемы: уникальный идентификатор для каждой строки, время начала и окончания. В таблице A есть несколько строк для каждой отдельной строки таблицы B, поэтому я хочу назначить идентификаторы строк из таблицы B соответствующим строкам таблицы A на основе того, встречается ли таблица A datetime МЕЖДУ временем начала и окончания date B. таблицы B. Предположим, что ни одна строка в таблице B не имеет перекрывающихся интервалов начала и конца.

Представьте, что по существу многие эксперименты были проведены с начальным и конечным временем, но измерения для эксперимента были записаны отдельно без идентификаторов эксперимента и только с указанием времени и даты, в течение которого проводились наблюдения.

КАК ПОЛУЧИТЬ ID ТАБЛИЦЫ B, НАЗНАЧЕННЫЙ НАБЛЮДЕНИЯМ В ТАБЛИЦЕ A?

Пожалуйста, и определенно спасибо.

1 Ответ

0 голосов
/ 06 апреля 2019

Я бы попробовал что-нибудь подобное:

select a.*, b.id
from a, b
where a.dt between b.start_dt and b.end_dt;
...