Rows not being returned in stored proc
I have two rows in dbo.Members but my stored proc is not returning a count. I can run the query alone like SELECT COUNT(*) FROM dbo.Members WHERE MemberID = 1234
and it returns the count as 2 which is correct.
Why does it not return the rows in my stored proc?
SELECT
ValidCount,
InvalidCount,
(SELECT COUNT开发者_JS百科(*) FROM dbo.Members WHERE MemberID = @pMemberID) AS 'TotalMembers'
FROM
dbo.Reporting
WHERE
MemberID = @pMemberID
Probably because you don't have entries in Reporting
with MemberId = 1234
.
Try this:
SELECT COALESCE(validCount, 0) AS validCount,
COALESCE(invalidCount, 0) AS invalidCount,
(
SELECT COUNT(*)
FROM members m
WHERE m.memberId = p.memberId
) AS totalMembers
FROM (
SELECT @pMemberId AS memberId
) p
LEFT JOIN
reporting r
ON r.memberId = p.memberId
精彩评论