【问题标题】:Salesforce SOQL relationship query questionSalesforce SOQL 关系查询问题
【发布时间】:2011-09-04 14:05:42
【问题描述】:

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

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

【问题讨论】:

    标签: salesforce soql


    【解决方案1】:

    也许子到父样式的查询会起作用。

    试试这个?

    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

    【讨论】:

      【解决方案2】:

      我假设 WebsiteUser__c 有一个对 Account 的查找,我相信这就是您发布的 sn-p 所显示的,但是这看起来不像标准对象 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 或@ 987654329@ 自己添加到 API 对象名称中,系统会自动执行此操作,因此您最终会得到以 __c__c__r__r 结尾的字段。

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

      【讨论】:

        【解决方案3】:
        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
        

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

        希望有帮助

        【讨论】:

          猜你喜欢
          • 2022-01-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多