Salesforce中有5个对象:contact
,account
,account_contact__c
,user
,recordtype
。下面是需要转换为Salesforce SOQL查询的SQL查询
SELECT c.id,c.fname,c.lname,u.name, ac.desc, r.date
FROM contact c
LEFT JOIN user u on c.oid =u.sfid
LEFT JOIN account_contact__c ac on c.sfid=ac.contact_id__c
LEFT JOIN account a on a.sfid=ac.account_id__c
LEFT JOIN recordtype r on a.recordtypeid =r.sfid and r.type=‘test’
我成功地连接了2个对象,但在第二个表中,我不能添加多个字段。
Select id,fname,lname
from contact
where id in (
select contact_id__c from account_contact__c
)
如果我尝试在account_contact__c
中添加另一个SELECT
语句,我会得到一个错误。
我们不知道您的所有关系,例如Contact-User。你需要什么?联系的主人吗?从该联系人创建的客户/合作伙伴社区用户?由用户创建/最后修改?
和Account_Contact__c表看起来很奇怪,为什么你不使用标准的AccountContactRelation。或者是正常的"上升"从联系人到客户
像这样的东西可以工作,但这真的取决于你需要什么。对于您的自定义表-不保证编译,您可能有不同的字段名称。
相关列表样式"-你从接触开始,往下走对你奇怪的自定义关系,然后"向上"。从关系到账户。
SELECT Id, FirstName, LastName, Owner.Name,
(SELECT Id, Account__r.Id, Account__r.Name, Account__r.RecordType.Name)
FROM Contact
"正常style"-你从你的自定义关系表开始,然后"向上"To acc and con
SELECT Id,
Contact__r.FirstName, Contact__r.LastName, Contact__r.Owner.Name,
Account__r.Name, Account__r.RecordType.Name
FROM Account_Contact__c