Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何计算值并将其用作存储过程中的变量_Sql_Sql Server_Database - Fatal编程技术网

Sql 如何计算值并将其用作存储过程中的变量

Sql 如何计算值并将其用作存储过程中的变量,sql,sql-server,database,Sql,Sql Server,Database,基本上,我想做的是 所需的类数是一个变量。用户可以将5、4作为最小值 因为我是新来的,我不能上传图片,但这里有一张我的ER图的图片,以了解表的结构 我正在使用sql server 2005首先,你的问题措辞不当;很难理解你想要达到的目标 要从数据集中获取满足所需条件的行数,请使用SELECT COUNT(0)from Tablename Where condition 我看不到你的ER图,所以我假设;这应该是课堂上的出勤情况 DECLARE @Students TABLE (id int, St

基本上,我想做的是

所需的类数是一个变量。用户可以将5、4作为最小值

因为我是新来的,我不能上传图片,但这里有一张我的ER图的图片,以了解表的结构


我正在使用sql server 2005

首先,你的问题措辞不当;很难理解你想要达到的目标

要从数据集中获取满足所需条件的行数,请使用SELECT COUNT(0)from Tablename Where condition

我看不到你的ER图,所以我假设;这应该是课堂上的出勤情况

DECLARE @Students TABLE (id int, StudentName nvarchar(max));
DECLARE @Classes TABLE (id int, ClassName nvarchar(max))
DECLARE @StudentClassAttendance TABLE (ClassAttendanceID int, StudentId int, ClassId int, StartTime datetime)

SELECT sca.StudentID, s.StudentName, COUNT(sca.ClassAttendanceID), c.ClassName
FROM 
@Students s
INNER JOIN @StudentClassAttendance sca
ON sca.StudentId = s.Id
INNER JOIN @Classes c
ON c.Id = sca.ClassId
GROUP BY 
sca.StudentID, s.StudentName, ClassName

你已经试着做什么了?你遇到了什么问题?我不知道如何构造sql代码你说你在使用“Oracle,sql Server 2005”-它是什么?这对我来说有点像家庭作业。没有变量的SQL存储过程几乎没有用处。看看: