我有一個澄清我想查詢的方式。在SQL查詢中的澄清
我想要得到位於特定時間範圍內的記錄。
我具有表甲具有開始時間爲1900-01-01 21的記錄:00:00.0和endTime爲1900-01-01 22:00:00.0
我有另一個表乙它有開始時間爲1900-01-01 21:47:43.0和結束時間爲1900-01-01 21:47:48.0
現在我的任務是找到tabl中的所有條目E中的具有表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 I已經開始行和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.
我不得不從表B中把開始時間和結束時間,並符合表A插槽,並得到結果。
所以我的第一種方法是查詢正確,或者是第二種方法是正確的還是有其他方法可以做到這一點。
編輯
因爲我們正在努力尋找在表A中的記錄,其中存在範圍我試圖用開始和B的endTimes如下:
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中的所有記錄都封裝了表B中記錄的startTime和endTime。在這種情況下,我想要做什麼。 –
這很令人困惑,因爲在問題的頂部,您顯示的A的值與底部A的值不同,頂部B的值與底部B的值不同。 –