SQL Server 2008 R2 我有两个表。一个 Main 记录,另一个是与 Main 相关的 Notes,具有公共键字段 sysid 和 main_id。(一个主记录可以有多个注释)
我想在主表中列出过去 30 天内没有在 Notes 表中创建的与该记录相关的记录的记录。
主表 FIELDS > file_number, sysid
备注表 FIELDS > note_date, main_id
我已经尝试了一百种不同的搜索建议,但没有什么能满足我的需求。我认为以下是最接近的,但它只提供根本不存在注释的记录,而且我没有看到有现有注释但在过去 30 天内没有任何注释的主要记录。如果我取出这AND db.notes.[date] > DATEADD(dd,-30,getdate()))
条线,我会得到相同的结果。
SELECT *
FROM db.main
WHERE NOT EXISTS(SELECT NULL
FROM db.notes
WHERE db.main.sysid = db.notes.main_id AND db.notes.[date] > DATEADD(dd,-30,getdate()))
ORDER BY db.main.ile_number
任何建议将不胜感激。
* *客户要求增加一列。最后注日期。所以他们想要 x 天内没有注释的主要记录列表以及最后一个注释的日期是什么。