1

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

费。我已经尝试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 的字符串字段。如何将其放入查询中?我完全被卡住了,提前谢谢!

4

3 回答 3

0

我假设 WebsiteUser__c 有一个对 Account 的查找,这就是我相信您发布的片段所显示的内容,但是这看起来不像标准对象 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__cor结尾的字段__r__r

如果您说您必须根据哪些信息进行查询,我也许可以为您提供更具体的答案!

于 2011-09-04T23:20:32.477 回答
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

于 2011-09-04T22:21:57.313 回答
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

这对我来说似乎是一种父母关系,所以我认为后面的查询会起作用......

希望有帮助

于 2011-10-03T11:33:47.590 回答