这真让我烦恼。
有没有办法根据另一个查询的结果命名列(即:[John])和你在计算什么(即' Bob')?这样我就不必手动定义每一个?
例如,我们说我有以下查询:
SELECT
COUNT(CASE WHEN [Name] = 'John' THEN 1 ELSE NULL END) AS [John]
,COUNT(CASE WHEN [Name] = 'Bob' THEN 1 ELSE NULL END) AS [Bob]
FROM [database].[dbo].[people]
GROUP BY
COUNT(CASE WHEN [Name] = 'John' THEN 1 ELSE NULL END) AS [John]
,COUNT(CASE WHEN [Name] = 'Bob' THEN 1 ELSE NULL END) AS [Bob]
我用一个变量尝试了这个,但是如果没有某种类型的循环函数来循环分配变量和定义,就没有多少运气。