sql - 计数将 varchar 转换为数字时的错误,也使用 IN 子句

标签 sql sql-server t-sql

我需要计算教授特定类(class)编号的许多教师的数量,按 schoolid 和类(class)分组。我收到以下错误:

Msg 8114, Level 16, State 5, Line 1. Error converting data type varchar to numeric.

我必须加入一个表以确保我可以提取 schoolid。我对 SQL 比较陌生,我不知道我做错了什么。我似乎缺少一个基本的逻辑。感谢您提供的任何帮助。

如果您需要任何进一步的信息,请告诉我。谢谢。

SELECT 
 TC.COURSE
 ,COUNT(tc.teacherUserName) AS TotalTeachers

FROM Teacherclasses AS Tc
JOIN Sites AS S ON Tc.Schoolid = S.Schoolid
WHERE Schoolyear = '2015'
AND TC.Course IN (
  17.0010000
, 23.0010000
, 27.0110000
, 36.0010000
, 41.0110000
, 45.0010000
, 23.1011070
, 27.1110070
, 23.1011080
, 27.1110080
, 23.0010010
, 27.0110010
, 41.0110010
, 45.0010010
, 55.0010050
, 23.9010000
, 27.9110000
, 41.9110000
, 45.9010000
, 23.8010000
, 27.8110000
, 41.8110000
, 45.8010000
)
GROUP BY TC.Course--, TC.SchoolID

最佳答案

Teacherclasses.Course 中有一些值无法转换为数字,但当您将其与 IN 子句中的数字进行比较时,它必须是可转换的。

更正 Teacherclasses.Course 中的值或在 IN 子句中的单引号之间传递参数。

关于sql - 计数将 varchar 转换为数字时的错误,也使用 IN 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25672848/

相关文章:

sql-server - 在 Windows 8 上使用 Windows 身份验证到 SQL Server 2012 的经典 Asp 连接字符串

sql - 如何删除复杂 SQL 查询中的某些重复项

c# - 当多个用户登录时,一段时间后 ASP.Net C# 应用程序变慢

python - Django 过滤器 - Iregex 只匹配完整的单词

mysql - 将 MSSQL 存储过程转换为 MySQL - CONCAT 问题

sql - T-SQL 分组依据和子查询

sql-server - 在sql server中将数据从一个表传输到另一个表

sql-server - 如何以所有者和唯一用户的身份修复 Azure SQL Server 中的数据库权限?

php - 插入mysql数据库修复

php - 使用 MySQLi 和 PHP 的排名系统(多次检查)