環境調査時に利用することの多い結合系SOQLまとめ

子レコードの紐づいた親レコードだけを取得する

■受注済の商談が紐づいた取引先だけを抽出する

SELECT Id FROM Account WHERE Id IN (SELECT AccountId FROM Opportunity WHERE IsClosed = TRUE)

■CustomerSuccessレコード(※カスタマイズオブジェクト)が紐づいた商談だけを抽出する

SELECT Id FROM Opportunity WHERE Id IN (SELECT Opportunity__c FROM CustomerSuccess__c)

子レコードが複数ある親レコードだけを抽出する

■複数の商談レコードが紐づく取引先だけを抽出する

SELECT AccountId, count(Id) FROM Opportunity GROUP BY AccountId HAVING count(Id) >= 2 LIMIT 100

子レコードが一つだけ紐づく親レコードを抽出する

■商談レコードが1つだけ紐づく取引先だけを抽出する

SELECT AccountId, count(Id) FROM Opportunity GROUP BY AccountId HAVING count(Id) = 1 LIMIT 100

Salesforce

Posted by regardie