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