#app adset
app_list = db.session.query(
AdsetAppReport.adset_id.label("adset_id"),
func.sum(AdsetAppReport.spend).label("spends"),
).group_by(AdsetAppReport.adset_id)
#web adset
web_list = db.session.query(
AdsetReport.adset_id.label("adset_id"),
func.sum(AdsetReport.spend).label("spends"),
).group_by(AdsetReport.adset_id)
#union two tables
both_list = app_list.union(web_list)
#Query
adset_list = db.session.query(
Adset.adset_id,
Adset.user_os,
both_list.spends,
).filter(both_list.adset_id == Adset.adset_id) \
.all()
İki tabloyu her iki_list olarak birleştirmek ve sonra adset iç birleştirmesini geçici tabloda yapmak istiyorum. Kodu çalıştırdığımda , ancak bana AttributeError göster. AttributeError: both_list 'Query' nesnesinin 'spends' özelliği yokturpython sqlalchemy birleşimi sorgusu , 'Sorgu' nesnesinin 'spends' özelliği yoktur
Tablolarınızın yapısı nedir? Sorguyu azaltmak kesinlikle yardımcı olur. Ayrıca, "app_list" ve "web_list" aynıdır. – API
app_list adsetAppReport tablosudur, web_list tablosu AdsetReport, aynı değildir, iki tablonun yapısı benzerliktir. Sorguyu azalttım, teşekkürler. – shenyang