私はSalesforceでSQLを初めて使用しています。クエリにいくつか問題があります。私は各ユーザーのために、最後に販売されたアイテムの顧客を取得したい。 (「ジョンの最後の売却は顧客のジェーンにあった」)。日付とユーザーに基づいて名前を取得する
私たちはOpportunityオブジェクトの周りにすべてを構築しました。案件オブジェクトが「クローズウォン」としてステージングされている場合、売却としてカウントされます。 私のアプローチは、各売り手の「最高の」日付のオブジェクトを「クローズウォン」として上演することです。その後、私は見つけた日付に関連付けられているオブジェクトの顧客を見つける。ただし、動作しません。
SELECT o1.CustomerName
FROM Opportunity o1
WHERE o1.CloseDate IN(
SELECT MAX(o2.CloseDate)
FROM Opportunity o2
WHERE o2.StageName = 'Closed Won'
GROUP BY o2.UserId)
内部クエリ自体は、各ユーザーの正確な「最終終了日」を持つリストを生成します。私が持っている テーブルは、大きく簡略化されている:
Opportunity(CustomerName, StageName, CloseDate, UserId)
User(UserId, UserName)
誰もが正しいクエリ上の任意のアイデア、またはより良いアプローチを持っていますか?
相関サブクエリが必要なようです。それにo1条件を含める! – jarlh
WSDLを使用していない限り、SalesforceはSQLを使用しません。 SQLとは大きく異なるSOQLを探していますか – coder32