将两个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]