sql server动态SQL求语文、数学、英语学科的最低分
时间: 2023-08-09 14:09:15 浏览: 67
以下是求语文、数学、英语学科的最低分的动态SQL语句,需要先创建一个存储过程:
```
CREATE PROCEDURE GetLowestScore
@subject1 NVARCHAR(50),
@subject2 NVARCHAR(50),
@subject3 NVARCHAR(50)
AS
BEGIN
DECLARE @sql NVARCHAR(MAX)
SET @sql = 'SELECT MIN(' + @subject1 + ') AS LowestScore FROM Scores UNION ALL SELECT MIN(' + @subject2 + ') AS LowestScore FROM Scores UNION ALL SELECT MIN(' + @subject3 + ') AS LowestScore FROM Scores'
EXEC(@sql)
END
```
在以上代码中,我们创建了一个存储过程`GetLowestScore`,该存储过程接收三个参数,分别为三个学科的名称。存储过程中的动态SQL语句会根据传入的参数生成查询语句,查询语句会分别取出每个学科的最低分,并通过UNION ALL组合成一个结果集返回。
使用该存储过程可以如下调用:
```
EXEC GetLowestScore '语文', '数学', '英语'
```
其中,'语文'、'数学'、'英语'是需要查询的学科名称,可以根据实际情况进行替换。执行以上代码后,将得到一个包含三条记录的结果集,每条记录中都包含一个最低分,分别对应三个学科。
阅读全文