0

連絡先と苦情の間には N<>N の関係があります。

私のレポートは現在次のようになっています。

      Status 1    Status 2    Status 3    Status 4
         3           4           32          34

次のクエリを使用します。

SELECT 
    SUM(case WHEN status = 1 then 1 else 0 end) Status1,
    SUM(case WHEN status = 2 then 1 else 0 end) Status2,
    SUM(case WHEN status = 3 then 1 else 0 end) Status3,
    SUM(case WHEN status = 4 then 1 else 0 end) Status4,
    SUM(case WHEN status = 5 then 1 else 0 end) Status5
FROM [DB].[dbo].[Contact]

これは、各ステータスの連絡先の数をリストしています。私は今、CRM の関連エンティティ (苦情) のフィールドを GROUP BY しようとしています。

                                         Status 1    Status 2    Status 3    Status 4
Contact.Complaints.CreatedBy[1]             3           4           32          34
Contact.Complaints.CreatedBy[2]             3           4           32          34
Contact.Complaints.CreatedBy[3]             3           4           32          34
Contact.Complaints.CreatedBy[4]             3           4           32          34

GROUP BY ステートメントのどこから始めればよいかわかりません。ポインタがあればすばらしいでしょう。NN 関係、または少なくとも苦情を指す別の FROM ステートメントが必要な気がします。

4

1 に答える 1

0

苦情(N:Nを介して)テーブルにJOINを追加するのと同じくらい簡単なはずです。私はJamesに完全に同意します。必ず、CRMユーザーとしてレポートを実行してください。そうしないと、フィルターされたビューは0行を返します。

SELECT
MyComplaintType,
...existing Sum(Case) stuff

FROM
FilteredContacts c
JOIN
Filterednew_Contacts_new_Complaint_new_complaints r1 (whatever your N:N is)
  ON c.contactId = r1.contactId
JOIN
Filterednew_Complaint comp
  ON r1.new_complaintId = comp.new_complaintId
GROUP BY
MyComplaintType
于 2012-11-09T11:16:15.387 に答える