SQLAlchemy子查询不起作用

时间:2013-10-14 21:24:26

标签: python mysql python-2.7 sqlalchemy

我正在尝试完成以下查询:

SELECT *, (SELECT COUNT(*) FROM cars WHERE status = 1) total
FROM cars
WHERE status = 1
LIMIT 5;

这是我的python代码:

subq = session.query(func.count('*').label('total')).select_from(Car).filter(Car.status == 1).subquery()
query = session.query(Car, subq).filter(Car.status == 1).limit(5).all()

但它完全产生了一个不同的查询:

SELECT cars.id AS cars_id, cars.status AS cars_status, anon_1.total AS anon_1_total 
FROM cars, (SELECT count('*') AS total 
FROM cars 
WHERE cars.status = 1) AS anon_1 
WHERE cars.status = 1 
LIMIT 5

是否可以强制子查询的WHERE子句成为子查询的一部分?

0 个答案:

没有答案