0
我在SQL Server 2012中编写存储过程,并在读取存储过程在匹配所有条件和连接条件后将返回的行数时遇到问题。如何从存储过程中获取返回行数 - SQL Server 2012
我的存储过程是:
SELECT DISTINCT
COUNT(crs.CourseId) OVER() AS Recordcounts,
crs.CourseId,
crs.CourseName,
crs.CourseDescription,
(SELECT CourseGroupName FROM CourseGroup cgrp
WHERE cgrp.CourseGroupId = crs.CourseGroupId) AS Category
FROM
Courses crs
INNER JOIN
CourseRequests creq ON crs.CourseId = creq.CourseId
WHERE
crs.Coursename <> ''''
它针对的条件的一个返回16为“Recordcounts”,但在实际中,结果只有3行。
有人可以帮我吗?
感谢
下面的截图将更加清晰的思路有关问题的条件之一:
我没有得到你。如果它返回的记录比预期的多,那么查询有问题。 SP如何影响这一点?另外,我没有看到一组声明,所以我猜测有16个记录满足过滤器,所有的RecordCount都是1.对吗? – Pratik
它正在返回正确的记录,但“Recordcounts”中的值是16,其中实际结果只有3行,所以“Recordcounts”应该是3,但我不知道如何得到它。 – Sachin
你可以试试吗? SELECT DISTINCT计数(crs.CourseId)以上(由crs.CourseId分区)作为Recordcounts, crs.CourseId, crs.CourseName, crs.CourseDescription, (从CourseGroup CGRP选择CourseGroupName其中cgrp.CourseGroupId = crs.CourseGroupId)作为分类 FROM课程CRS 内对crs.CourseId = creq.CourseId 加入CourseRequests CREQ其中crs.Coursename <>“”“” – Pratik