私がデータを取得しようとしている質問は-
「マーケティング キャンペーンの影響を受けたオポチュニティがいつアカウントに関連付けられるかを知りたいです。アカウントには複数の連絡先が存在する可能性があるため、いずれかの連絡
先がキャンペーン (キャンペーンのメンバー) に関連付けられている場合、連絡先が接続されているアカウントを教えてください。アカウントに関連付けられたオポチュニティがある場合、そのオポチュニティは、連絡先がキャンペーンに関連付けられた後に作成されたものです。」</p>
論理が解りません。私はSQLが初めてです。どんな助けでも大歓迎です。
SQL Server 2012 を使用しています
SalesForce データベースから 5 つの関連テーブルがあります –</p>
アカウント テーブル (PK ID、OpportunityID)、商談テーブル (PK ID、AccountID )、連絡先テーブル (PK ID、AccountID)、キャンペーン テーブル (PK ID、ContactID、ParentID)、CampaignMember テーブル (PK ID、ContactID、CampaignID)
このリンクは、SalesForce データ モデル http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_erd_majors.htmを提供します。
これは私が思いついたものですが、行は返されません。
SELECT O.CreatedDate OppCreatedDate
,o.Name as OpportunityName
,a.Name AccountName
,c.Name as ContactName
,ca.Name as CampaignName
,o.Amount_Software
,o.CreatedDate
FROM Opportunity o
INNER JOIN Account a on a.Id = o.AccountID
LEFT JOIN Contact c ON c.AccountId = a.Id
INNER JOIN CampaignMember cm ON cm.CampaignID = c.ID
INNER JOIN Campaign ca ON ca.ID = cm.CampaignID
LEFT JOIN Campaign ca2 ON ca2.ID = ca.ParentID
WHERE o.CreatedDate > cm.CreatedDate
ORDER BY AccountName DESC;
ありがとうございました。