У меня есть разъяснение, как я могу запросить.Уточнение в запросе Sql
Я предполагаю получить записи, которые лежат в определенном временном диапазоне.
У меня есть запись в таблице A, которая имеет время начала как 1900-01-01 21: 00: 00.0 и EndTime как 1900-01-01 22: 00: 00.0
и у меня есть еще один стол B, который имеет STARTTIME, как 1900-01-01 21: 47: 43,0 и Конечное время, как 1900-01-01 21: 47: 48,0
Теперь моя задача состоит в том, чтобы найти все записи в tabl е А, который имеет STARTTIME и EndTime из таблицы B.
Первоначально я использовал в качестве запроса следующим образом:
select *
from A
where startTime between '1900-01-01 21:47:43.0' and '1900-01-01 21:47:48.0'
и я не получил никаких результатов.
А потом я попробовал следующий запрос
select *
from A
where startTime < '1900-01-01 21:47:43.0' and startTime > '1900-01-01 21:47:48.0'
и я получил одну строку.
В таблице А у меня есть диапазоны, такие как:
1900-01-01 21:00:00.0 - 1900-01-01 22:00:00.0
1900-01-01 22:00:00.0 - 1900-01-01 23:00:00.0
1900-01-01 23:00:00.0 - 1900-01-01 23:30:00.0
.
.
.
и так далее.
И в таблице B я строки начинаются и EndTimes как
1900-01-01 21:27:30.0 - 1900-01-01 21:27:55.0
1900-01-01 22:11:22.0 - 1900-01-01 22:11:44.0
1900-01-01 23:22:11.0 - 1900-01-01 23:22:55.0
.
.
.
and so on.
И я должен взять STARTTIME и EndTime из таблицы B и соответствует слот в таблице А и получить результаты.
Итак, мой первый способ правильного запроса или второй способ правильный или есть ли другой способ сделать это.
Редактировать
Поскольку мы пытаемся найти записи в таблице А, где существует диапазон я пытался использовать начало и EndTimes из B следующим образом:
select *
from A
and '1900-01-01 21:47:43.0' between startTime and endTime
and '1900-01-01 21:47:48.0' between startTime and endTime
Это зависит от того, что вы хотите получить, хотите ли вы, чтобы время начала и окончания совпало между двумя таблицами? Или вы хотите найти записи в B, которые находятся в пределах диапазона от таблицы A? –
@Goat_CO: Я хочу, чтобы все записи в таблице A инкапсулировали как startTime, так и endTime записи в таблицу B. В этом случае, что я должен делать. –
Это запутанно, потому что в верхней части вашего вопроса вы показываете значения для A, которые отличаются от значений для A внизу, а значения для B сверху, которые отличаются от значений для B внизу. –