簡體   English   中英

SQL Server:根據另一個表中的日期進行過濾

[英]SQL Server : filter on dates from another table

我是SQL Server的新手,所以這可能是一個很簡單的問題

我有一個日志表視圖,如下所示:

在此處輸入圖片說明

記錄運行開始和停止的表如下所示:

在此處輸入圖片說明

我想在第二張表的開始時間和結束時間之間過濾掉第一張表中的數據。 有什么辦法嗎?

您可以使用常規join來匹配日期范圍:

select  *
from    Entries e
join    Runs r
on      r.StartTime <= e.EntryTime
        and (
          e.EntryTime <= r.StopTime
          or r.StopTime is null -- For a run that has not yet stopped
        )

但是您的示例數據表明存在一個外鍵,這將消除對日期范圍匹配的需求:

select  *
from    Entries e
join    Runs r
on      e.ProjectRunId = r.ProjectRunId

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM