所以,我有这个查询,我想知道为什么我收到错误。我找不到任何可疑的东西:
SELECT CAST(((COUNT(FileSize) * 100.0) / (SELECT NULLIF(COUNT(*), 0) FROM InfoFile))
AS DECIMAL(10, 2)) AS[Percentage(%)]
错误是:
列名称无效' FileSize'。
所以你知道为什么会这样吗?
答案 0 :(得分:0)
因为FROM
子句在子查询中,所以无法识别列名。
据推测,你打算这样:
SELECT (COUNT(FileSize) * 100.0) / NULLIF(COUNT(*), 0) AS[Percentage(%)]
FROM InfoFile;
实际上,另一种方法是:
select avg(case when filesize is not null then 100.0 else 0 end) as Percentage
from infoFile;