작업을 얻으려면 soql 쿼리를 사용하고 있습니다. 내 요구 사항은 계정 또는 연락처 개체와 관련된 모든 작업을 얻는 것입니다. 또한 계정이나 연락처 개체 내의 다른 필드는 개체와 관련이 있습니다. 여러 개의 쿼리를 작성하는 대신 간단한 방법이 있습니까?relatedto (whatId)가있는 모든 작업을 계정 또는 연락처로 쿼리하는 방법
답변
다음에 자세한 정보를 제공해주십시오. 일반적으로 말하면 참조 이름 옆에 부모 개체를 참조하고 점으로 표시 할 수 있습니다. 여기에 예제가 있습니다
Select Account.Name, AccountId From Task Where Account.Name = 'John'
여기서 Account는 (작업의) 참조 이름이고 AccountId는 참조 필드입니다.
어떻게
에 대한또는 parentid 또는 parentid (계정 곳 ...에서 ID를 선택)의 작업에서
에서 {열 목록 (접촉 곳에서 ID를 선택 ...) 경우 당신이 목록 (우리가 IDLIST를 사용합니다)에 접촉 또는 계정 ID가 이미 정점 내부이고, 당신은 사용할 수 있습니다
에서 {열 목록]을 작업 어디에서 parentid에서 : IDLIST
죄송합니다. 계정이나 연락처 ID를 사용할 수 없습니다. 쿼리를 필터링하십시오. 난 그냥 모든 필드에 Account 또는 Contact ID가 포함 된 모든 작업을 원한다. Smply 계정 또는 연락처 개체와 관련된 작업 –
귀하의 질문 조금 불분명하다. 과 관련된 모든 작업을 찾고 있습니까? 계정 또는 연락처 또는 특정 계정 또는 연락처?
전자의 경우,
SELECT Id, Subject, FROM TASK WHERE What.Type = 'Account' OR Who.Type = 'Contact'
후자의 경우, 이미 모티에 의해 제안 IN :list
구문을 사용하십시오. 예를 들어 OPPORTUNITIES와 관련된 작업이 반환되지 않으므로 AccountId!=null
과 대조적으로 What.Type
이 유용합니다 (해당 동작을 원할 경우 AccountId!=null
을 사용하고 모든 연락처를 OPPORTUNITIES와 연결하면 Who.Type
을 삭제할 수 있습니다)).
어느 경우이든 다형성 필드는 제한된 수의 필드에만 액세스 할 수 있기 때문에 문제는 CONTACT에서 특정 데이터를 가져옵니다. 지금 그 목록을 찾을 수없는 것 같습니다. 저는 오래된 SOQL이 하나의 쿼리에서이를 수행하는 구문을 지원한다고 생각하지 않습니다. 이것이 SOQL 다형성이 그렇게 강세를 보이는 이유입니다. 당신이 SOQL TYPEOFavailable to you이있는 경우
이제, 당신은 같은 더 흥미로운 일을 할 수 있어야한다 :
SELECT Id, Subject, TYPEOF What WHEN Account THEN AccountNumber END, TYPEOF Who WHEN Contact THEN FirstName END FROM Task WHERE What.Type = 'Account' OR Who.Type = 'Contact'
[선택 t.subject, t.Description, t.Id, t.WhatId 작업 t에서] 내 쿼리이지만 계정이나 연락처와 관련된 작업 만 필요합니다 계정 또는 연락처 ID –
AccountId! = null 또는 WhatId! = null –