我对SQL还是很陌生,正在尝试在sql服务器中编写查询以获取每周文档总数。我的查询如下:
SELECT
[table].[week],
SUM(ISNULL([table].[documents],0))
FROM
[table]
JOIN
(VALUES (15,187293),...other pairs...,(127,120918)) AS Outside ([ID],[Organization]) ON Outside.[ID]=[table].[ID]
AND Outside.[Organization] = [table].[Organization]
GROUP BY
week
同一查询在每周输出文档的不同表(格式完全相同)上工作,但是当我在该表上运行它时,出现错误
第245级状态1状态2线
将varchar值'#N / A'转换为数据类型int时,转换失败。
“文档”列中没有类似于#N / A的内容。我该如何适当地计算这笔款项?
答案 0 :(得分:1)
要查找有问题的行,请运行查询:
label
或更妙的是:
select t.*
from table t
where id = '#N/A' or organization = '#N/A';
您可以通过在select t.*
from table t
where try_convert(int, id) is null or try_convert(int, organization) is null;
值集中使用适当的类型来解决问题。也就是说,一个或两个值都应该用单引号引起来,因此它们是字符串而不是数字。