使用 'WHERE NOT EXISTS' 时使用日期范围获取数据

Get data using the Date Range when 'WHERE NOT EXISTS' is used

从 table 我需要在 SQL 服务器中使用 'WHERE NOT EXISTS' 时使用以下查询中的日期范围获取数据.

declare @Start DATETIME, 
        @End DATETIME 

    Set @Start = '01/01/2020'
    Set @End  = '01/15/2020'

select A.request_id, A.order_id
       from table_a A
where not exists (select * from table_b B where B.request_id=A.request_id 
       and B.order_id=A.order_id)
and WHERE (provided_date between @Start and @End)

需要包含WHERE provided_date between @Start and @End

应用日期范围后,我需要提供的日期范围内的数据。我如何实现这一目标? 请找到以下 table 和预期输出:

**TABLE A**

request_id|order_id|Provided_Date
10        |2567    |01/01/2020
20        |4784    |01/03/2020
30        |2578    |01/07/2020
40        |8432    |01/10/2020
50        |9032    |01/13/2020

**TABLE B**

request_id|order_id|Provided_Date
30        |2578    |01/07/2020
40        |8432    |01/10/2020

**EXPECTED OUTPUT**

request_id|order_id|Provided_Date
10        |2567    |01/01/2020
20        |4784    |01/03/2020
50        |9032    |01/13/2020

当您 post 提出问题时,请与我们分享您的 table 结构(CREATE TABLE …)和一些示例数据(INSERT INTO …) 以及您的预期结果。以便我们找到正确的方向并进行一些测试。

尝试:

declare @Start DATETIME, 
        @End DATETIME 

Set @Start = '01/01/2020'
Set @End  = '01/15/2020'

select request_id, order_id,Provided_Date
from table_a 
where request_id not in (select request_idfrom table_b )
      and provided_date between @Start and @End