在apex中,您可以进行类似
的查询SELECT id , name , **account__r.name** FROM schemaname.contact
其中account__r.name正在抓取相关的帐户名称。
是否可以在带有postgres数据库的java中执行此操作?或做类似的事情。没有专门查询每个表
答案 0 :(得分:1)
根据您的评论,似乎这个**
封闭的字段正由SFDC专门处理。因此,您无法像在Apex代码中那样轻松访问这些数据。当您使用Apex进行开发时,它会自动为您处理许多此类底层内容。在Java和PostgreSQL中,您具有更大的灵活性(由于在较低层工作且抽象较少),但当然您将失去这些奇特的功能。这是一种权衡。如果您正在谈论的数据存储在postgresql中,那么它们肯定是表,除了通过连接多个表直接查询它们之外别无他法。我的猜测是,最简单的形式就是这样(这只是一个例子):
SELECT c.id, c.name, ac.name
FROM contact c
JOIN account ac ON c.account_id = ac.id;
问题在于您的代码肯定会与您在数据库层上的SFDC中建模数据的方式相关联。因此,如果他们通过其他工具进行更改,那么您的代码就会停止工作我不熟悉这个SFDC和Apex的事情,如果数据模型设计是由你完成的,那么值得考虑这样做,否则坚持单一解决方案/框架/工具更加面向未来让它处理所有潜在的东西。
修改强>
考虑到您对store --> account --> contact
关系的评论,那么您的查询将是这样的:
SELECT c.id, c.name, ac.name, st.city
FROM store st join account ac on ac.store_id = st.id
JOIN contact c on c.accountid = ac.id