Salesforce SOQL关系查询问题

时间:2011-09-04 14:05:43

标签: salesforce soql

我想通过Account表上的SOQL查询从自定义表WebsiteUser获取字段 userhomepage 。我尝试了大约10个不同的查询,但我没有让它工作......

FE。我已经尝试了所有__c和__r组合的SELECT field1, (SELECT userhomepage FROM User) FROM Account

我有以下结构:

<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的字符串字段。 如何将其放入查询中?我完全陷入了困境,提前了!

3 个答案:

答案 0 :(得分:0)

也许儿童到父母的风格查询会起作用。

试试这个?

SELECT Account__r.field1, userhomepage FROM WebsiteUser__c

相关文档:

http://www.salesforce.com/us/developer/docs/api/index_Left.htm#StartTopic=Content/sforce_api_calls_soql.htm

答案 1 :(得分:0)

我假设WebsiteUser__c有一个查询账户,这是我认为你发布的片段正在显示,但是这看起来不像标准对象XML所以我不是百分之百来自它的来源从

从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 {1}}或__r您自己进入API对象名称,系统会自动执行此操作,因此您最终会得到以__c__c__r__r结尾的字段。

如果您说出查询所依据的信息,我可以为您提供更具体的答案!

答案 2 :(得分: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

它似乎是我的父母关系,所以我认为后面的查询会起作用......

希望有所帮助