Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python-sqlalchemy联合查询&xFF0C';查询';对象没有属性';花费';_Python_Mysql_Sqlalchemy_Union - Fatal编程技术网

python-sqlalchemy联合查询&xFF0C';查询';对象没有属性';花费';

python-sqlalchemy联合查询&xFF0C';查询';对象没有属性';花费';,python,mysql,sqlalchemy,union,Python,Mysql,Sqlalchemy,Union,我想合并两个表作为双_列表,然后使adset内部连接到临时表中。 当我运行代码时,它会显示AttributeError。 AttributeError:两个列表“Query”对象都没有属性“Expenses”我无法检查这是否有效,但创建子查询可能会解决此问题。此外,我还明确了join #app adset app_list = db.session.query( AdsetAppReport.adset_id.label("adset_id"), func.sum(AdsetAp

我想合并两个表作为双_列表,然后使adset内部连接到临时表中。 当我运行代码时,它会显示AttributeError。
AttributeError:两个列表“Query”对象都没有属性“Expenses”

我无法检查这是否有效,但创建子查询可能会解决此问题。此外,我还明确了join

#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()

我无法检查这是否有效,但创建子查询可能会解决这个问题。此外,我还明确了join

#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()

你们桌子的结构是什么?减少查询肯定会有所帮助。此外,
app\u list
web\u list
是相同的。app\u list是表AdsetAppReport,web\u list是表AdsetReport,它们不相同,两个表的结构相似。我简化了查询,谢谢。您的表的结构是什么?减少查询肯定会有所帮助。另外,
app\u list
web\u list
是相同的。app\u list是表adsetapport,web\u list是表AdsetReport,它们不相同,两个表的结构相似。我已经减少了查询,谢谢。提前感谢您的帮助,但是我收到了以下错误:'Alias'对象没有属性'expenses',您是否在
both_list.c.expenses
both_list.c.adset_id
中包含
c
?(代表列)提前感谢您的帮助,但我收到以下错误:'Alias'对象没有属性'Expenses',您是否将
c
包含在
both_list.c.expenses
both_list.c.adset_id
中?(表示列)