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
我正在使用 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