次の 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 句が崩壊していますが、私の人生ではその理由がわかりません。エイリアスに何か問題がありますか?