2013-11-05 47 views

回答

2

下次請提供更具體的信息。一般來說,您可以通過引用名稱後跟一個點來引用父對象。下面是一個示例

Select Account.Name, AccountId From Task Where Account.Name = 'John' 

此處Account是引用的名稱(來自任務),AccountId是引用字段。

+0

[選擇t.subject,t.Description,t.Id,t.WhatId從任務T]是我的查詢,但我只需要這些任務相關的帳戶或聯繫其他方式應該包含的字段帳戶或聯繫人編號 –

+0

因此它應該是Where Where AccountId!= null或WhatId!= null –

0

如何

其中的parentid或在的parentId(由戶口所在...選擇ID)

選擇{列的列表]從任務(從接觸,其中選擇ID ...)

另外,如果你在裏面的Apex和已有的聯繫人或帳戶ID列表中(我們將使用IDLIST),你可以使用:

選擇{列的列表]從任務,其中的parentid在:IDLIST

+0

對不起,我不能使用帳戶或聯繫人ID過濾查詢。我只想要在哪個字段包含帳戶或聯繫人ID的所有任務。與帳戶或聯繫人對象相關的任務很差 –

0

你的問題有點不清楚。您是否在尋找與有關的所有任務賬號或聯繫方式或具體賬號或聯繫方式?

如果是前者,嘗試

 
    SELECT Id, Subject, 
    FROM TASK 
    WHERE 
     What.Type = 'Account' OR 
     Who.Type = 'Contact' 

如果是後者,則使用已經莫蒂建議IN :list語法。 What.Type是有用的,而不是AccountId!=null,因爲它不會返回與例如OPPORTUNITIES相關的任務(如果您想要這種行爲,請使用AccountId!=null,如果您將所有的聯繫人與機會相關聯,則可以刪除Who.Type,因爲它將是多餘的)。

在這兩種情況下,您的問題將從CONTACT whos中提取特定數據,因爲多態字段僅允許訪問有限數量的字段。目前似乎無法找到該列表。我不相信舊的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' 
相關問題