Sql 如何返回过去90天内没有活动日期的记录?

Sql 如何返回过去90天内没有活动日期的记录?,sql,sql-server,join,Sql,Sql Server,Join,我有一个查询,可以返回过去90天内没有活动的所有记录,但它似乎也在返回过去90天内活动的记录。我怎样才能解决这个问题 检查它们是否处于活动状态的逻辑-tm.timeslip\u date。。。。。。。。。。。。。。。 左连接dbo.timeslips tm 关于cases.case_sk=tm.case_sk --和tm.timeslip_date DATEADD(day,-90,GETDATE()) ......................... 和tm.timeslip\u日期请在代码问

我有一个查询,可以返回过去90天内没有活动的所有记录,但它似乎也在返回过去90天内活动的记录。我怎样才能解决这个问题

检查它们是否处于活动状态的逻辑-
tm.timeslip\u date
。。。。。。。。。。。。。。。
左连接dbo.timeslips tm
关于cases.case_sk=tm.case_sk
--和tm.timeslip_date DATEADD(day,-90,GETDATE())
.........................

和tm.timeslip\u日期请在代码问题中给出一个--cut&paste&runnable代码,包括作为代码输入的最小代表性示例;期望和实际输出(包括逐字记录错误消息);标签和版本;清晰的说明和解释。尽可能少地给出代码,即显示为OK的代码,并通过显示为not OK的代码进行扩展。(调试基础。)用于包含DBMS和DDL(包括约束和索引)的SQL,并将其作为格式化为表的代码输入。暂停总体目标的工作,在第一个表达中删去代码,不要给出你的期望,说出你的期望以及为什么。请。仅将图像用于不能表示为文本或扩充文本的内容。包括图例/图例和说明以及图像。@谢谢您的帮助info@philipxy谢谢你提供的信息。下次我会关注这些。非常感谢。我请求你的帮助。它起作用了。
WITH unit AS (
   SELECT
         tm.create_date 
       , tm.timeslip_date
       , cases.case_sk
       , cases.case_number
       , cases.closed_ind
       , cases.atty2_sk
       , vc.atty2_name    AS [Business Leader]
       , em.smtp_reply_to AS [Business Leader Email]
       , cases.atty1_sk
       , vc.atty1_name    AS [Assign Attorney]
       , tm.detail_notes
   FROM dbo.cases
   LEFT JOIN dbo.vcases vc ON cases.case_sk = vc.case_sk
   LEFT JOIN dbo.employee em ON cases.atty2_sk = em.employee_sk    
   LEFT JOIN dbo.timeslips tm 
         ON cases.case_sk = tm.case_sk
         AND tm.timeslip_date <= DATEADD(day, -90, GETDATE()) -- This where I check last 90 days no timeslip dates** 
   WHERE cases.closed_ind = 'O'

      
), agg AS (
   SELECT
         MIN(u.create_date)   AS [Created Date]
       , MAX(u.timeslip_date) AS [Last Bill Date]
       , u.case_sk
       , u.case_number
       , u.closed_ind
       , u.atty2_sk
       , u.[Business Leader]
       , u.[Business Leader Email]
       , u.atty1_sk
       , u.[Assign Attorney]
   FROM unit u
   GROUP BY 
         u.case_sk
       , u.case_number
       , u.closed_ind
       , u.atty2_sk
       , u.[Business Leader]
       , u.[Business Leader Email]
       , u.atty1_sk
       , u.[Assign Attorney]
)
SELECT agg.*, unit.detail_notes
FROM agg
INNER JOIN unit
   ON  agg.[Last Bill Date] = unit.[timeslip_date]
        AND agg.case_sk = unit.case_sk
        AND agg.case_number = unit.case_number
        AND agg.closed_ind = unit.closed_ind
        AND agg.atty2_sk = unit.atty2_sk
        AND agg.atty1_sk = unit.atty1_sk
WHERE agg.case_sk ='66505'
ORDER BY agg.[Created Date] ASC
...............   
LEFT JOIN dbo.timeslips tm 
         ON cases.case_sk = tm.case_sk
         --AND tm.timeslip_date <= DATEADD(day, -90, GETDATE()) -- This where I check last 90 days no timeslip dates** 
   WHERE cases.closed_ind = 'O'
   AND NOT EXISTS(SELECT * FROM dbo.timeslips tsm WHERE tsm.case_sk = cases.case_sk AND tsm.timeslip_date > DATEADD(day, -90, GETDATE()) )
.........................