• There's no reason to have a subquery there.

    SELECT [Agent Name] AS AgentName
      , [Reason Code] AS ReasonCode
      , SUM(Cast(Datepart(Second, [Duration]) AS INT) + Cast(60 * Datepart(Minute, [Duration]) AS INT) + Cast(3600 * Datepart(Hour, [Duration]) AS INT)) AS StateDuration
    FROM State_Details
    GROUP BY [Agent Name]
      , [Reason Code]

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass