Nếu bạn cần điều này thường xuyên và / hoặc số đếm là một phần không thể thiếu trong Tab1
của bạn mô hình, bạn nên sử dụng thuộc tính kết hợp như được mô tả trong câu trả lời khác. Mặt khác, nếu bạn cần điều này chỉ cho một truy vấn, thì bạn có thể chỉ cần tạo truy vấn con vô hướng bằng cách sử dụng Query.label()
hoặc Query.as_scalar()
:
count_stmt = session.query(func.count(1)).\
filter(Tab2.tab1_id == Tab1.id).\
group_by(Tab2.col1).\
label('cnt')
session.query(Tab1, count_stmt).filter(...).limit(100)
Truy vấn con sẽ tự động tương quan với những gì nó có thể có từ truy vấn kèm theo.