python - (SQLALCHEMY):如何查询一个表以返回另一个表中不存在的项目(基于 7 个值主键)
问题描述
我有 2 个表,1 个原始数据 (raw_data) 和 1 个分数 (score_dlhs)。我想查询原始数据表以仅返回分数表中尚未计算的项目。
我需要查询的主键是 7 个字段复合键。我对 SQLAlchemy 的了解仍然很基础,但我假设我可以通过单个查询直接实现这一点?
这是我到目前为止所拥有的,但我不确定我的语法是否正确:
result = session.query(raw_data, ().join(score_dlhs, (raw_data.distance!=score_dlhs.distance) &
(raw_data.width!=score_dlhs.width) &
(raw_data.height!=score_dlhs.height) &
(raw_data.setback!=score_dlhs.setback) &
(raw_data.potence!=score_dlhs.potence) &
(raw_data.manufacturier!=score_dlhs.manufacturier) &
(raw_data.model!=score_dlhs.model)).all()
解决方案
我找到了解决方案:
蟒蛇版本:
data_to_compute = (session.query(raw_data_uniformite_table).outerjoin(score_dlhs_table,(and_(score_dlhs_table.distance ==
raw_data_uniformite_table.distance, score_dlhs_table.largeur ==
raw_data_uniformite_table.largeur, score_dlhs_table.hauteur == raw_data_uniformite_table.hauteur,
score_dlhs_table.setback == raw_data_uniformite_table.setback, score_dlhs_table.potence ==
raw_data_uniformite_table.potence, score_dlhs_table.manufacturier == raw_data_uniformite_table.manufacturier,
score_dlhs_table.modele == raw_data_uniformite_table.modele))).filter(score_dlhs_table.distance == None)).all()
推荐阅读
- javascript - 清除新搜索 Javascript 上的数据
- python - 如何为我的 RDFLib 图中的所有资源设置 rdfs:isDefinedBy?
- loopback4 - 如何在 Loopback 4.0 中提供静态内容?
- git - 使用标签——来自前 CVS 用户的问题
- python - Google Drive API - 服务帐户的文件下载问题
- python - 在 numpy 库中的多维数组中进行索引
- json - 解析失败:JSONDecoder Swift
- c++ - 使用 gcc 的库的动态链接
- google-apps-script - 有没有办法每天保存一次不断变化的值并将其存储在谷歌表格中?
- c - 在带有联合的 typedef 结构中,我需要实例化所有变量吗?