Python sqlalchemy查询标签或别名结果两列作为新列名
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python sqlalchemy查询标签或别名结果两列作为新列名相关的知识,希望对你有一定的参考价值。
我有两个表,其中一个表有两列,一行只包含其中一列中的数据:
表2:
| column1 | column2 | ------------------------- | something | Null | ------------------------- | Null | something | -------------------------
我想做的事情如下:
q = session.query(Table1.column1, (Table2.column1, Table2.column2).label('content'))
.outerjoin(Table2)
.all()
for v in q:
x = v.column1
content = v.content
print(x, content)
怎么做到呢?
答案
Sql coalesce应该有所帮助。它将返回值列表中的第一个非空值。
from sqlalchemy import func
q = session.query(Table1.column1, func.coalesce(Table2.column1, Table2.column2).label('content'))
.outerjoin(Table2)
.all()
以上是关于Python sqlalchemy查询标签或别名结果两列作为新列名的主要内容,如果未能解决你的问题,请参考以下文章
SQLAlchemy教程-第四章-SQL常用查询的ORM写法进阶2-待完善
如何在 sqlalchemy 查询过滤器中使用用户定义的 python 函数?
SQLAlchemy 中的 Session、sessionmaker、scoped_session