在 apex 中你可以像这样查询
SELECT id , name , **account__r.name** FROM schemaname.contact
其中 account__r.name 是获取相关账户名称。
是否可以使用 postgres 数据库在 java 中执行此操作?或做类似的事情。无需专门单独查询每个表
最佳答案
根据您的评论,SFDC 似乎对这个 **
封闭的字段进行了特殊处理。因此,您无法像在 Apex 代码中那样轻松访问该数据。当您使用 Apex 进行开发时,它会自动为您处理许多此类底层内容。在 Java 和 PostgreSQL 中,你有更多的灵 active (由于工作在较低的层和较少的抽象),但当然你会失去这些奇特的特性。这是一个权衡。如果您所说的数据存储在 postgresql 中,那么它们肯定是表,除了通过连接多个表直接查询它们之外别无他法。我的猜测是,在最简单的形式中,它会是这样的(这只是一个例子):
SELECT c.id, c.name, ac.name
FROM contact c
JOIN account ac ON c.account_id = ac.id;
问题是您的代码肯定会与您的数据在数据库层的 SFDC 中建模的方式相结合。因此,如果他们通过其他工具更改某些内容,那么您的代码将停止工作。我不熟悉这个 SFDC 和 Apex 的东西,如果数据模型设计是由你做的,那么值得考虑这样做,否则坚持单一的解决方案/框架/工具更适合 future 让它处理所有底层的东西。
编辑:
考虑到您对 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
关于java - postgres中使用java的相关字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48177442/