【发布时间】:2014-06-24 08:50:38
【问题描述】:
我有一张表,其工程师 ID、DateTimeCreated 为 DateTime、JobID 和 AuditTypeID
我需要在查询的每一行显示第一个(engineerID,JobID 和 AuditTypeID 1)和最后一个(engineerID,JobID 和 AuditTypeID 2)。
SELECT TOP (100) PERCENT
dbo.AuditTrail.EngineerId,
dbo.AuditTrail.AuditTypeId,
dbo.Engineers.Name,
dbo.Engineers.EngineerTypeCode,
dbo.AuditTrail.JobId,
CAST(dbo.AuditTrail.DateTimeCreated AS Date) AS _Date
FROM
dbo.AuditTrail
INNER JOIN
dbo.Engineers
ON dbo.AuditTrail.EngineerId = dbo.Engineers.EngineerId
WHERE
(dbo.AuditTrail.AuditTypeId = 1) AND
(dbo.Engineers.EngineerTypeCode = 'p') AND
(dbo.Engineers.EngineerTypeCode = 'p') AND
(DATEPART(mm, dbo.AuditTrail.DateTimeCreated) = 6) AND
(DATEPART(YYYY, dbo.AuditTrail.DateTimeCreated) = 2014)
group by
AuditTrail.engineerID,
JobID,
AuditTypeId,
Engineers.name,
Engineers.EngineerTypeCode,
CAST(dbo.AuditTrail.DateTimeCreated AS Date)
ORDER BY
dbo.AuditTrail.EngineerID DESC
对于我的查询的第一部分。不幸的是,我看不到每天选择第一条记录
任何帮助将不胜感激
【问题讨论】:
-
请提供您的预期结果
-
“在查询的每一行上”是什么意思?
标签: sql sql-server sql-server-2008