将两个sql server查询合并到一个查询中

将两个sql server查询合并到一个查询中,sql,sql-server-2008,Sql,Sql Server 2008,如何将这两个选项组合在一起 SELECT TOP 5 Sum([NumOfChats]) AS [NumOfChats] ,[CaseTypeName] ,[CaseSubTypeName] FROM #Result2 GROUP BY [CaseTypeName] ,[CaseSubTypeName] SELECT Sum([NumOfChats]) AS [TotalNumOfCh

如何将这两个选项组合在一起

 SELECT TOP 5 Sum([NumOfChats]) AS [NumOfChats]
            ,[CaseTypeName]
            ,[CaseSubTypeName]
      FROM #Result2
      GROUP BY [CaseTypeName]
            ,[CaseSubTypeName]

      SELECT Sum([NumOfChats]) AS [TotalNumOfChats]           
      FROM #Result2
第一个查询汇总了前5个numochat,第二个查询汇总了所有numochat

因此,我想进入同一行,例如:
5,Some_CaseTypeName,Some_caseSubliteName,10(这是聊天的总数)

使用UNION ALL,在第二次查询中选择NULL以获得与第一次查询中相同的列数:

SELECT TOP 5 Sum([NumOfChats]) AS [NumOfChats]
            ,[CaseTypeName]
            ,[CaseSubTypeName]
      FROM #Result2
      GROUP BY [CaseTypeName]
            ,[CaseSubTypeName]
UNION ALL
      SELECT Sum([NumOfChats]) AS [TotalNumOfChats], NULL, NULL           
      FROM #Result2

FYI
TOP
没有
ORDER BY
对输出顺序没有任何保证。请添加一些解释
DECLARE @T int = (SELECT Sum([NumOfChats])   
      FROM #Result2 )

  SELECT TOP 5 Sum([NumOfChats]) AS [NumOfChats]
        ,[CaseTypeName]
        ,[CaseSubTypeName]
        ,@T [TotalNumOfChats]    
  FROM #Result2
  GROUP BY [CaseTypeName]
        ,[CaseSubTypeName]