sqlalchemy - SQLAlchemy 添加计算列
问题描述
使用 SQLAlchemy ORM 我想添加一个计算列,然后按该列排序。计算的列是其他两列的最大值(我试图找到 2 个联系人之间的最新交互,他们可以通过“电子邮件”或“笔记”进行交互)。
我构建了一个 case when 语句正确返回最近的交互:
calculatedLastInteraction = case([
(
(organization_note.time == None) & (contact.last_interaction_time_email != None),
contact.last_interaction_time_email
),
(
(contact.last_interaction_time_email == None) & (organization_note.time != None),
organization_note.time
),
(
contact.last_interaction_time_email >= organization_note.time,
contact.last_interaction_time_email
),
(
organization_note.time > contact.last_interaction_time_email,
organization_note.time
)
],
else_ = None).label('calculatedLastInteractionDate')
如何将此列添加到现有的 SQLAlchemy 查询?
解决方案
推荐阅读
- java - 在wiremock中使用ResponseTransformer总是得到空响应
- google-bigquery - 没有足够的资源用于查询计划
- python - 以通用方式比较 Excel 列并用一些颜色突出显示差异
- java - openhtmltopdf是否支持外部css
- java - 如何仅绘制传感器的当前数据点?
- c# - 如何在第三个项目中引用和使用 .NET Core 3.0 和 .NET EF 4.7 项目,并使用它们的数据库连接?
- c# - 如何将目标对象围绕 A 轴旋转多少不同的对象围绕 B 轴旋转?
- java - 如何在 Qt 中调用 context.getExternalFilesDir
- java - Appium Send keys() 函数将中文字符作为英文字符串的一部分发送
- java - 发送按钮使应用程序崩溃