合計数を取得するためのクエリは次のとおりです。
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
以下は私のテーブルスキーマです
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
必要なのは、MembershipType ごとのメンバー Portfolios の Total Count です。つまり、私の関係は次のようなものです。JFPMembers は、メンバー情報を保持するためのプライマリ テーブルです。メンバーには、プレミアム、法人、一般の 3 つのカテゴリがあります。これら 3 つのタイプは MemberShipMaster に保管されます。ID はそれぞれ 3、4、5 です。ポートフォリオを保持するためのもう 1 つのテーブルがあり、それぞれのメンバーを MemberId として関連付けます。
しかし、 MemberShipMaster.Id で複数の値または参照エラーが発生しています。私を助けてください...