首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Beatbox:从SFDC提取数据时如何添加WHERE子句?

Beatbox:从SFDC提取数据时如何添加WHERE子句?
EN

Stack Overflow用户
提问于 2015-06-16 22:59:20
回答 2查看 130关注 0票数 1

在Pandas中,我正在创建一个dataframe,它将来自两种不同Beatbox查询的数据进行合并。首先,我提取我所有的机会数据,然后我提取我的所有帐户数据,然后我合并。

但是,我想优化这个过程,只为oppty‘’AccountID‘列中存在的帐户’‘ID’提取数据,而不是在合并之前提取全部帐户数据。我该怎么做?

现状:

代码语言:javascript
复制
query_result = svc.query("SELECT ID, AccountID FROM Opportunity")
records = query_result['records']
oppty = pd.DataFrame(records)

query_result = svc.query("SELECT ID, Website FROM Account")
records = query_result['records']
account = pd.DataFrame(records)

mylist = pd.merge(oppty, account, left_on='AccountID', right_on='ID', how='left')
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-17 01:06:18

您可以使用SOQL半连接将帐户查询限制在那些有机会的帐户上。

代码语言:javascript
复制
svc.query("SELECT ID,Website FROM Account where ID in (SELECT accountId FROM Opportunity)")
票数 2
EN

Stack Overflow用户

发布于 2015-06-16 23:24:43

由于我没有访问您的svc对象的权限,这只是一个建议。但试着

代码语言:javascript
复制
query_result = svc.query("""SELECT ID, AccountID FROM Opportunity
                            JOIN Account on Account.ID = Opportunity.AccountID""")

作为一个查询。

这将使用左内连接提取数据,这将在两个表中省略不匹配的行。它还在SQL中进行连接,通过让数据库服务器完成工作来减少数据库通信量(因此也减少了网络带宽),从而减少了桌面客户端系统上的计算负荷。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30879669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档