如何根据查询结果命名列?

时间:2014-07-14 18:05:08

标签: sql sql-server

这真让我烦恼。

有没有办法根据另一个查询的结果命名列(即:[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]

我用一个变量尝试了这个,但是如果没有某种类型的循环函数来循环分配变量和定义,就没有多少运气。

0 个答案:

没有答案