2011-09-04 192 views
1

我想通過Account表上的SOQL查詢從自定義表WebsiteUser獲取字段userhomepage。我試過10個不同的查詢,但我沒有得到它的工作...Salesforce SOQL關係查詢問題

fe。我試過SELECT field1, (SELECT userhomepage FROM User) FROM Account所有的__c和__r組合。

我有以下結構:

<complexType name="Account"> 
<complexContent> 
    <extension base="ens:sObject"> 
    <sequence> 
    ... 
    <element name="WebsiteUser__c" nillable="true" minOccurs="0" type="tns:ID"/> 
    <element name="WebsiteUser__r" nillable="true" minOccurs="0" type="ens:WebsiteUser"/> 

而且WebsiteUser表有一個名爲userhomepage一個字符串字段。 如何將它放在查詢中?我完全卡住了,thnx提前!

回答

0

我假設WebsiteUser__c有一個查找到帳戶,這是什麼,我相信你已經發布的代碼片段表示,然而那並不是」看起來像標準對象XML,所以我不是100%來自它的來源。

從WebsiteUser__c到賬戶的查找會創建許多網站用戶到一個賬戶的關係。如果您是從本網站用戶表中選擇你會做這樣的事情:

select Id, UserHomePage__c, Account__r.Name 
from WebsiteUser__c where some conditional 

查詢反過來需要一個子查詢:

select Id, Name, (select Id, UserHomePage__c from WebsiteUser__r) 
from Account 

這將返回一個Account所有WebsiteUser__c列表與之相關的記錄,你可以運行如下結果:

for(Account sAcct : select Id, Name, 
          (select Id, UserHomePage__c from WebsiteUser__r) 
        from Account limit 200) 
{ 
    for(WebsiteUser__c sUser : sAcct.WebsiteUser__r) 
    { 
     System.Debug(sUser.UserHomePage__c); 
     // etc. 

有些事情要注意的是WebsiteUser__r可能是一個複數,即WebsiteUsers__r,如果您嘗試了所有組合,但它不起作用,請檢查您是否自己將__c__r放入了API對象名稱中,系統會自動執行此操作以便結束以字段結尾在__c__c__r__r

如果你說什麼信息你必須基於查詢我可能能夠使這個答案更具體一點給你!

0
SELECT id, (SELECT UserHomePage__c FROM WebsiteUser__r) FROM ACCOUNT 

if websiteUser__r is the child relation 

SELECT id, WebsiteUser__r.UserHomePage__c FROM ACCOUNT 

if websiteUser__r is the parent relation 

好像我父母的關係,所以我想以後的查詢將工作...

希望幫助