SELECT TOP 1 @max_course_id = Course.课号, COUNT(SC.学号) AS 选修人数向变量赋值的 SELECT 语句不能与数据检索操作结合使用。
时间: 2024-03-10 22:47:15 浏览: 65
非常抱歉,是我的失误。在 SQL Server 中,不能将 `SELECT` 语句直接赋值给变量,需要使用 `SET` 语句来赋值。正确的代码如下:
```
SELECT TOP 1 Course.课号, COUNT(SC.学号) AS 选修人数
INTO #temp
FROM Course
LEFT JOIN SC ON Course.课号 = SC.课号
GROUP BY Course.课号
ORDER BY 选修人数 DESC
SELECT @max_course_id = #temp.课号
FROM #temp
DROP TABLE #temp
```
这个代码会在查询选修人数最多的课程时创建一个临时表 `#temp`,然后将课程号赋值给 `@max_course_id` 变量,最后删除临时表。希望这次回答能够解决您的问题。
阅读全文