Return 空白记录而不是从 Salesforce 中找不到记录

Return blank records instead of No Records found from Salesforce

我正在使用 SalesForce Mobile SDK 开发移动应用程序,为了使功能正常运行,我正在构建 customer_id 和相应地址之间的映射。所以为了有一个映射,我修改了 SOQL 查询以在执行查询后取回 customer_id 值。

当找到地址时,此映射工作正常。但是当没有地址关联时,我没有得到任何回应。因此,映射 customer_id 并在其中放置一个空地址,即使找不到地址,我也需要返回 customer_id。

为了更好地解释:以下查询没有 return 任何结果,因为没有找到地址:

SELECT Account_vod__c,Address_line_2_vod__c, City_vod__c, Name FROM Address_vod__c WHERE Account_vod__c = '001e000000qVp8WAAS'

但我想创建一个查询,如果没有找到记录,它会 return 类似于:

你可以尝试使用 coalesce

SELECT coalesce(Account_vod__c,001e000000qVp8WAAS),
Address_line_2_vod__c, City_vod__c, Name 
FROM Address_vod__c WHERE Account_vod__c = '001e000000qVp8WAAS'

此问题基于初始 DBMS 标签回答:

SELECT a.Account_vod__c, a1.Address_line_2_vod__c, a1.City_vod__c, a1.Name
FROM (SELECT '001e000000qVp8WAAS' AS Account_vod__c) a LEFT OUTER JOIN
     Address_vod__c a1
     ON a1.Account_vod__c = a.Account_vod__c;

如果您有多个 Account_vod__c,则使用 UNION ALL 并执行 LEFT JOIN :

SELECT a.Account_vod__c, a1.Address_line_2_vod__c, a1.City_vod__c, a1.Name
FROM (SELECT '001e000000qVp8WAAS' AS Account_vod__c
      UNION ALL
      . . .
     ) a LEFT OUTER JOIN
     Address_vod__c a1
     ON a1.Account_vod__c = a.Account_vod__c;

嵌套的 SOQL 查询成功了:

SELECT Id, Name,(SELECT Id, Account_vod__c, Name, Address_line_2_vod__c, City_vod__c FROM Address_vod__r)FROM Account WHERE Id = '001e0000008Ch5nAAC' LIMIT 1