尝试编写查询以显示公司部门中服务的当前状态。我写的只是不起作用。我觉得我走错了方向。
SELECT MAX(v_StatusEvents.EventTimeStamp) as EventTimeStamp
, MAX(v_StatusEvents.StatusTypeID) as StatusTypeID
, v_StatusEvents.ServiceID
, v_StatusEvents.StatusTypeDescription
, v_StatusEvents.ServiceName
, v_StatusEvents.CategoryName
FROM v_StatusEvents
WHERE v_StatusEvents.CategoryID = 100
AND YEAR(v_StatusEvents.EventTimeStamp) = YEAR(getdate())
AND MONTH(v_StatusEvents.EventTimeStamp) = MONTH(getdate())
AND DAY(v_StatusEvents.EventTimeStamp) = DAY(getdate())
GROUP BY v_StatusEvents.ServiceID
, v_StatusEvents.StatusTypeDescription
, v_StatusEvents.ServiceName
, v_StatusEvents.CategoryName
我有三个类别:(100 - 互联网,101 - 应用程序和 102 - 网络)。
每个类别都包含服务。
例如,我有三个属于 CATEGORY Internet 的服务:(50 - 内部,51 - 外部,52 - 开发)。
每个 SERVICE 将始终具有当前日期的至少一个状态记录。
CURRENT STATUS 将设置为三个不同的 STATUS TYPES 值之一:1 = 无问题,2 = 中断,3 = 严重。
我想显示今天每个类别的最高状态类型。
这是今天日期的示例记录集。
SeID CatID EventTimeStamp SvcID StatTypeID
201 100 11/11/2012 12:01am 52 1
202 100 11/11/2012 12:01am 51 1
203 100 11/11/2012 12:01am 50 1
204 100 11/11/2012 08:00am 51 3
205 100 11/11/2012 10:50am 50 2
206 100 11/11/2012 11:00am 50 1
207 100 11/11/2012 11:25am 52 2
如您所见,内部网站在上午 10:50 出现中断问题,但在上午 11:00 解决。
外部网站存在一个尚未解决的持续严重问题。我希望查询返回值 3,因为这是尚未解决的服务的最高当前状态。
(如果所有服务都“没有问题”,我希望查询返回值 1)
谢谢,
垃圾