2013-10-07 27 views
3
排序

我有以下的疑問,如何通過聯合查詢列在SQLAlchemy的

query1 = session.query(User.name, Info.zipCode.label('zip')) 
       .join(Info, User.user_id=Info.user_id) 

QUERY2 = session.query(User.name,Addr.postCode.label('拉鍊「)) 。加入(ADDR,User.user_id = Addr.employee_id)


查詢= query1.union(query2)

如何按"zip"列排序?

回答

1

您有query,這是一個Query對象。查詢具有order_by()函數,如果需要可以使用take a literal string。因此,要做到這將是最簡單的方法...

query = query1.union(query2).order_by('zip') 
+1

這適用於甲骨文,而不是在源碼:( – Will

+0

@Will - 看到留在文檔註釋:http://docs.sqlalchemy.org /注意許多數據庫後端不允許ORDER BY在UNION中調用的查詢上呈現,'' – Greg0ry