我写了以下查询。
select distinct(table3.*),
(select count(*)
from table2
where table2.cus_id = table3.id) as count,
(select sum(amount)
from table2
where table2.cus_id = table3.id) as total
from table2,
table1,
table3
where table3.id = table2.cus_id
and table2.own_id = table1.own_id;
它查找列的总和以及产生总和的行数以及来自另一个表的一些关联数据。 (如果觉得可以改进欢迎优化)
我需要将其转换为 SQLAlchemy,但不知道从哪里开始。我将不胜感激任何建议。
这是我对您的查询的重写:
SELECT t3.*,
x.count,
x.amount
FROM TABLE3 t3
JOIN (SELECT t2.cus_id
COUNT(*) AS count,
SUM(t2.amount) AS total
FROM TABLE2 t2
WHERE EXISTS(SELECT NULL
FROM TABLE1 t1
WHERE t1.own_id = t2.own_id)
GROUP BY t2.cus_id) x ON x.cus_id = t3.id
抱歉,无法帮助您解决 SQLAlchemy 部分。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)