parts_alias = parts.alias()
included_parts = included_parts.union_all(
select([
- parts_alias.c.part,
parts_alias.c.sub_part,
+ parts_alias.c.part,
parts_alias.c.quantity
]).
where(parts_alias.c.part==incl_alias.c.sub_part)
func.sum(included_parts.c.quantity).
label('total_quantity')
]).\
- select_from(included_parts.join(parts,
- included_parts.c.part==parts.c.part)).\\
group_by(included_parts.c.sub_part)
result = conn.execute(statement).fetchall()
parts_alias = parts.alias()
included_parts = included_parts.union(
select([
- parts_alias.c.part,
parts_alias.c.sub_part,
+ parts_alias.c.part,
parts_alias.c.quantity]).\
where(parts_alias.c.part==incl_alias.c.sub_part)
)
"WITH RECURSIVE anon_1(sub_part, part, quantity) "
"AS (SELECT parts.sub_part AS sub_part, parts.part "
"AS part, parts.quantity AS quantity FROM parts "
- "WHERE parts.part = :part_1 UNION SELECT parts_1.part "
- "AS part, parts_1.sub_part AS sub_part, parts_1.quantity "
+ "WHERE parts.part = :part_1 UNION SELECT parts_1.sub_part AS sub_part, "
+ "parts_1.part AS part, parts_1.quantity "
"AS quantity FROM parts AS parts_1, anon_1 AS anon_2 "
"WHERE parts_1.part = anon_2.sub_part) "
"SELECT anon_1.sub_part, "
"WITH anon_1(sub_part, part, quantity) "
"AS (SELECT parts.sub_part AS sub_part, parts.part "
"AS part, parts.quantity AS quantity FROM parts "
- "WHERE parts.part = :part_1 UNION SELECT parts_1.part "
- "AS part, parts_1.sub_part AS sub_part, parts_1.quantity "
+ "WHERE parts.part = :part_1 UNION SELECT parts_1.sub_part AS sub_part, "
+ "parts_1.part AS part, parts_1.quantity "
"AS quantity FROM parts AS parts_1, anon_1 AS anon_2 "
"WHERE parts_1.part = anon_2.sub_part) "
"SELECT anon_1.sub_part, "