저는 Salesforce에서 SQL을 처음 사용하고 있으며 쿼리에 몇 가지 문제가 있습니다. 각 사용자에 대해 마지막으로 판매 된 항목의 고객을 얻고 싶습니다. ("John의 마지막 판매는 고객 Jane에게").날짜 및 사용자를 기준으로 이름을 얻으십시오.
우리는 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)
내부 쿼리는 각 사용자에 대해 정확한 '마지막 종료 날짜'가있는 목록을 생성합니다. 크게 간소화 I가 가지고있는 테이블 :
Opportunity(CustomerName, StageName, CloseDate, UserId)
User(UserId, UserName)
사람이 올바른 쿼리에 대한 아이디어, 또는 더 나은 방법이 있습니까?
상관 관계가있는 하위 쿼리를 원하는 것처럼 보입니다. 그것에 O1 조건을 포함 시키십시오! – jarlh
WSDL을 사용하지 않는 한 Salesforce는 SQL을 사용하지 않습니다. SQL과 많이 다른 SOQL을 찾고 있습니까 – coder32