我有一些关于数据透视查询的问题。我是新来的。所以在互联网上找东西,所以我找到了几十个。因此,我决定关注此链接。一直在练习,但似乎我遇到了一些明显的错误。
我的代码是:
select
risk, [Quick] AS Quick, [Brown] AS Brown, [Fox] AS Fox
from
(select risk, site
from tst) as ps
PIVOT
(
count(risk)
for site in ([Brown], [Brown], [Fox])
) AS pvt
但是它抛出一个错误:
无效的列名“风险”。
基本上我想有这样的输出:
|Foo | Quick | Brown | Fox |
| 1 | 10 | 3 | 2 |
| 2 | 5 | 4 | 4 |
| 3 | 4 | 1 | 5 |
| 4 | 2 | 3 | 7 |
| 5 | 3 | 2 | 1 |
这样的事情。仅计算一个特定数字中有多少个。任何帮助将非常感激。谢谢
现有查询的问题是您正在使用risk
最终选择列表中的列以及聚合函数中的列。计算完risk
每个值后,site
将无法显示该值。
要解决此问题,您可以将risk
列的第二个版本添加到您的子查询中,如下所示。然后,您需要在count
该列的另一列中risk
显示最终选择项:
select risk, [ADAB] AS ADAB, [Bahrain] AS Bahrain, [Thumrait] AS Thumrait
from
(
select risk, piv_risk = risk, site
from qcqcif
) as ps
PIVOT
(
count(piv_risk)
for site in ([ADAB], [Bahrain], [Thumrait])
) AS pvt;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句