Sql server 2008 r2 SQL查询以列出非活动记录并列出最后一条相关记录
SQL Server 2008 R2 我之前发布并收到了关于我的问题的完美答案。但现在我的客户想在查询中添加其他内容 我有两张桌子。我需要一个非活动报告(我已经能够创建),其中主表在notes表中没有相关记录达x天 现在,我需要将最后一个注释的日期添加到此查询中 以下是我的表格结构:Sql server 2008 r2 SQL查询以列出非活动记录并列出最后一条相关记录,sql-server-2008-r2,Sql Server 2008 R2,SQL Server 2008 R2 我之前发布并收到了关于我的问题的完美答案。但现在我的客户想在查询中添加其他内容 我有两张桌子。我需要一个非活动报告(我已经能够创建),其中主表在notes表中没有相关记录达x天 现在,我需要将最后一个注释的日期添加到此查询中 以下是我的表格结构: Main Table FIELDS > file_number, sysid Notes Table FIELDS > note_date, main_id 以下是我当前的查询: SELECT *
Main Table FIELDS > file_number, sysid
Notes Table FIELDS > note_date, main_id
以下是我当前的查询:
SELECT *
FROM
db.main m
LEFT OUTER JOIN db.notes n
ON m.sysid = n.main_id
AND CONVERT(VARCHAR(10),DATEADD (day, (n.[date]), '1800-12-28'), 101) > dateadd(dd, -14, getdate())
WHERE n.main_id is null
这个怎么样:
SELECT
*
FROM
db.main m
LEFT JOIN
(
SELECT
main_id
, MAX(n.[DATE]) LastNote
FROM
db.notes
GROUP BY
main_id
) n
ON
n.main_id = m.sysid
WHERE
(
n.main_id IS NULL
OR
DATEDIFF(DAY, n.LastNote getdate()) > 14
);
主记录和最后一个注释日期,其中最后一个注释的日期超过14天,或者如果没有注释,则最后一个注释日期为空。是否有任何错误?问题是我需要将最后一个注释日期添加为一列。因此,如果主记录有100个音符,而在过去14天内没有一个音符(上面给了我一个列表),那么最后一个音符的日期是什么。