sql - 将 nvarchar 值 'CIS100 ' 转换为数据类型 int 时转换失败

标签 sql sql-server database

有人可以帮助我吗?我正在尝试运行一个计数命令,以便它计算每个类(class)编号中的所有学生,所以我正在运行此命令。尽管我收到此错误。

将 nvarchar 值 'CIS100' 转换为数据类型 int 时转换失败

这是我的 SQL 查询

USE RMUDB
GO
SELECt *
FROM Class
WHERE [Class Number] = (Select Count([Class Number]) FROM Enrollment) 

最佳答案

如果你想统计每个类(class)的学生人数,下面的查询不就是你想要的吗?

SELECT c.[Class Number], COUNT(e.[Class Number])
FROM Class c LEFT JOIN
     Enrollment e
     ON c.[Class Number] = e.[Class Number]
GROUP BY c.[Class Number];

您的查询正在将计数操作的结果(整数)与 [Class Number] 进行比较,后者是某物的名称。 = 不太可能有意义。

关于sql - 将 nvarchar 值 'CIS100 ' 转换为数据类型 int 时转换失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28468844/

相关文章:

php - 插入查询不会将数据添加到我的数据库中。我的语法错了吗?

php - 数据库日期 = 今天的日期

sql - ASP 更新数据库,如果不存在则插入

sql - ROW_NUMBER() 执行计划

c# - 无法加载文件或程序集 'EntityFramework.SqlServer,版本 = 6.0.0.0

c# - 如何在 visual studio 中访问 SQL 数据库? ( Razor cshtml,C#)

sql - 检测行是否被INSERT或REPLACE修改?

java - Mysql查询组装

sql - 多对多关系的单个 SQL 查询

PHP 需要引号才能使用 SQL Server 数据库中的 "Transaction"表