我有2个表,Jobs和AdminUsersLog。 AdminUsersLog包含作业中每个作业记录上执行的操作日志。为什么这个SQL语句不检索DISTINCT记录
我正在尝试检索空闲时间超过7天的作业列表。下面的这个SQL似乎是拉出每个作业的所有日志条目,因此从日志中提取较早的条目,当然这些条目总是会超过7天。
我需要为AdminUsersLog.ulDate早于7天的每个作业检索一条记录。
SELECT DISTINCT Jobs.ID, Jobs.bStatus AS jStatus, Jobs.sID, Jobs.insDate, Jobs.statusLabel, Jobs.cID, AdminUsersLog.ulDate, AdminUsersLog.ulJobType
FROM AdminUsersLog LEFT JOIN Jobs
ON (AdminUsersLog.ulJobID = Jobs.ID AND AdminUsersLog.ulJobType = 1)
WHERE AdminUsersLog.ulJobType = 1
AND (SELECT TOP(1) AdminUsersLog.ulDate FROM AdminUsersLog WHERE AdminUsersLog.ulJobID = Jobs.ID AND AdminUsersLog.ulJobType = 1) < DATEADD(dd,-7,GETDATE())
AND Jobs.bStatus < 8
Top X results; http://pastebin.com/RcvxbxCV
请分享你的查询检索表记录 – 2014-11-06 11:46:17
嗨Hiral,链接到上述结果;-) – DannyBoy 2014-11-06 11:58:49
*** **什么*数据库是这样的? SQL只是查询**语言** - 不是产品.....这是用于** SQL Server **还是用于Microsoft Access? – 2014-11-06 12:05:47