SQL server
时间: 2023-09-23 12:03:52 浏览: 102
好的,对于SQL Server,您可以使用以下的动态SQL语句来求取每科目的最低分:
```
DECLARE @subjectName NVARCHAR(50)
DECLARE @sql NVARCHAR(MAX)
DECLARE subject_cursor CURSOR FOR
SELECT DISTINCT subject_name
FROM scores
OPEN subject_cursor
FETCH NEXT FROM subject_cursor INTO @subjectName
WHILE @@FETCH_STATUS = 0
BEGIN
SET @sql = N'SELECT MIN(score) AS min_score FROM scores WHERE subject_name = ''' + @subjectName + ''''
EXEC sp_executesql @sql
FETCH NEXT FROM subject_cursor INTO @subjectName
END
CLOSE subject_cursor
DEALLOCATE subject_cursor
```
上面的代码中,我们首先定义了一个游标`subject_cursor`,用于获取每个科目的名称。然后我们利用`sp_executesql`函数执行动态SQL语句,查询每个科目的最低分。
需要注意的是,在实际使用中,动态SQL语句存在SQL注入的风险,需要进行防范。
阅读全文