Impossible d'get le nombre total dans ma requête

Voici ma requête pour get le nombre total.

SELECT MemberShipMaster.Id, MemberShipMaster.Name, TotalCount = ( SELECT ISNULL(COUNT(MemberPortfolio.Id), 0) AS total FROM JFPMembers INNER JOIN MemberPortfolio ON JFPMembers.MemberID = MemberPortfolio.MemberId WHERE JFPMembers.MembershipType = MemberShipMaster.Id AND JFPMembers.IsActive = 1 AND MemberPortfolio.IsActive = 1 ) FROM MemberShipMaster Left JOIN JFPMembers ON MemberShipMaster.Id = JFPMembers.MembershipType WHERE MemberShipMaster.Id <> 6 GROUP BY MemberShipMaster.Id, MemberShipMaster.Name Order by MemberShipMaster.Name 

Voici mon schéma de table

 SELECT [MemberID] -- PK ,[MembershipType] --FK , table [MemberShipMaster] FROM JFPMembers SELECT [Id] -- PK ,[MemberId] -- FK OF Table JFPMembers FROM MemberPortfolio SELECT [Id] --PK ,[Name] FROM MemberShipMaster 

Ce dont j'ai besoin, c'est le nombre total de portefeuilles membres, par MembershipType, c'est-à-dire que ma relation est quelque chose comme ça, JFPMembers est une table primaire pour contenir des informations sur les membres. Il existe 3 catégories de membres, Premium, Corporate et Général. Ces trois types sont stockés dans MemberShipMaster. Les ID sont 3,4 et 5 respectivement. Il y a un autre tableau pour détenir Portfolio qui, en tant que MemberId, met en relation son membre respectif.

Mais je reçois une erreur de plusieurs valeurs ou de reference avec MemberShipMaster.Id. Aidez-moi, s'il vous plaît…

Nouveau code:

 SELECT abb1.Id, abb1.Name, TotalCount = (SELECT ISNULL(COUNT(abb3.Id), 0) AS total FROM JFPMembers as abb4 INNER JOIN MemberPortfolio as abb3 ON abb4.MemberID = abb3.MemberId WHERE abb4.MembershipType = abb1.Id AND abb4.IsActive = 1 AND abb3.IsActive = 1) FROM MembershipMaster as abb1 Left JOIN JFPMembers as abb2 ON abb1.Id = abb2.MembershipType WHERE abb1.Id <> 6 GROUP BY abb1.Id, abb1.Name Order by abb1.Name