Mysql 如何将此原始SQL转换为sqlalchemy查询?
我在MySQL中使用以下查询。它使用两张桌子。其中一个表名为sample_variable。它有别名(a和b)并在自身上连接。另一个表名为sample_fixed。查询与SQL一样正常工作。我要找的是这个查询的sqlalchemy版本。感谢您的帮助Mysql 如何将此原始SQL转换为sqlalchemy查询?,mysql,sqlalchemy,Mysql,Sqlalchemy,我在MySQL中使用以下查询。它使用两张桌子。其中一个表名为sample_variable。它有别名(a和b)并在自身上连接。另一个表名为sample_fixed。查询与SQL一样正常工作。我要找的是这个查询的sqlalchemy版本。感谢您的帮助 选择a.row\u id、a.field、a.value、b.field、b.value、sample\u fixed.qno 从样本变量a将样本变量b连接到a.row\U id=b.row\U id 右外部联接示例固定在a.row\U id上=示例
选择a.row\u id、a.field、a.value、b.field、b.value、sample\u fixed.qno
从样本变量a将样本变量b连接到a.row\U id=b.row\U id
右外部联接示例固定在a.row\U id上=示例固定在a.row\U id上
其中a.row_id=b.row_id,a.field='age',a.value=60,b.field='region',b.value=3代码>
提前谢谢大家,,
-谢谢你,范。我觉得这很好,我现在可以继续我的项目了。非常感谢。
A = aliased(SampleVariable, name="a")
B = aliased(SampleVariable, name="b")
qry = (
session.query(A.row_id, A.field, A.value, B.field, B.value,
SampleFixed.qno)
.join(B, A.row_id == B.row_id)
.outerjoin(SampleFixed, A.row_id == SampleFixed.row_id)
.filter(A.row_id == B.row_id) # @note: redundant: included in the JOIN above
.filter(A.field == 'age')
.filter(A.value == 60)
.filter(B.field == 'region')
.filter(B.value == 3)
)