我有以下 sqlalchemy 代码:
x = bbc.alias().c
w = bbc.alias().c
select([func.distinct(x.region)]).where(
select([func.sum(w.population)]).where((w.region == x.region)) > 100000000
)
我希望它产生这个 SQL:
SELECT DISTINCT(x.region)
FROM bbc x
WHERE 100000000 < (
SELECT SUM(w.population)
from bbc w
WHERE w.region = x.region
)
但它给了我这个:
SELECT distinct(bbc_1.region) AS distinct_1
FROM bbc AS bbc_1
WHERE 1
不知何故,WHERE 子句正在崩溃,但对于我的生活,我不明白为什么。我对别名做错了吗?