我有以下8个T-SQL脚本,我将其运行到数据库中并将输出存储到spredsheet中,我们如何才能从这8个sql脚本中编写单个查询,以便我可以全部运行一次并存储结果在表内使用SSIS?有什么办法可以组合下面所有的SQL脚本?为了解决手动运行每个查询并将数据存储在spreedsheet中的手动过程,我们需要做到这一点。
答案 0 :(得分:2)
UNION ALL
:
SELECT MB.Member_Board_SName, ISNULL(A.[HeadCount],0) [HeadCount]
FROM . .
UNION ALL
SELECT MB.Member_Board_SName, ISNULL(A.[HeadCount],0)
FROM . . .
UNION ALL
. . .
答案 1 :(得分:0)
其他人说的话。您也可以将每个结果集放入临时表或其他内容中,如果这样做可以在脚本的其他地方提供好处。
答案 2 :(得分:-1)
在这种情况下,您需要使所有查询中的列相同,因为所有查询中的列数均为2,因此您可以简单地使用UNION ALL,它将在输出时返回所有查询结果。
专门为您准备的是:
WITH CertLevelParticipation AS
(
SELECT
MOC.ABMSUID,
C.Member_Board_Id,
MOC.Certificate_ID
FROM
MOCParticipation MOC
INNER JOIN
Certificate C ON MOC.Certificate_ID = C.Certificate_Id
WHERE
MOC.Participating_Type = 'Y'
)
SELECT
MB.Member_Board_SName,
ISNULL(A.[HeadCount], 0) [HeadCount]..
UNION ALL
SELECT
MB.Member_Board_SName,
ISNULL(A.[HeadCount], 0) [HeadCount]..
UNION ALL
SELECT
MB.Member_Board_SName,
ISNULL(A.[HeadCount], 0) [HeadCount]..
UNION ALL
SELECT
MB.Member_Board_SName,
ISNULL(A.[HeadCount], 0) [HeadCount]..
UNION ALL
SELECT
MB.Member_Board_SName,
COUNT(DISTINCT ABMSUID) AS [HeadCount]..
UNION ALL
SELECT
MB.Member_Board_SName,
COUNT(DISTINCT ABMSUID) as [HeadCount]..
UNION ALL
SELECT
MB.Member_Board_SName,
COALESCE(A.[HeadCount], B.[HeadCount], 0) AS [HeadCount]..
UNION ALL
SELECT
MB.Member_Board_SName,
COALESCE(A.[HeadCount], B.[HeadCount], 0) AS [HeadCount]..