我有三个 SELECT 语句,每个语句返回总计:“新案例”、“关闭案例”、“现有案例”。我如何组合这些以便它们在一个结果集中返回。
即我需要返回一个包含 3 个字段的表,“新案例”、“关闭案例”和“现有案例”,每个字段总计一个
SELECT COUNT(CaseID) AS 'New Cases'
FROM dbo.ClientCase
WHERE (CaseStartDate >= CONVERT(DATETIME, '2009-01-01 00:00:00', 102))
AND (CaseStartDate <= CONVERT(DATETIME, '2009-03-31 00:00:00', 102))
SELECT COUNT(CaseID) AS 'Closed Cases'
FROM dbo.ClientCase
WHERE (CaseClosedDate >= CONVERT(DATETIME, '2009-01-01 00:00:00', 102))
AND (CaseClosedDate <= CONVERT(DATETIME, '2009-03-31 00:00:00', 102))
SELECT COUNT(CaseID) AS 'Existing Cases'
FROM dbo.ClientCase
WHERE (CaseStartDate <= CONVERT(DATETIME, '2009-03-31 00:00:00', 102))
最佳答案
当您计算相同的数据时,您可以并行进行:
select
sum(case when CaseStartDate between '2009-01-01' and '2009-03-31' then 1 else 0 end) as [New Cases],
sum(case when CaseClosedDate between '2009-01-01' and '2009-03-31' then 1 else 0 end) as [Closed Cases],
sum(case when CaseStartDate <= '2009-03-31' then 1 else 0 end) as [Existing Cases]
from
dbo.ClientCase
关于SQL 组合多个 SELECT 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/843642/