summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/sqlalchemy/orm/query.py2
-rw-r--r--lib/sqlalchemy/sql/selectable.py4
-rw-r--r--test/sql/test_cte.py10
3 files changed, 7 insertions, 9 deletions
diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py
index 827fdb5be..5d60c4e29 100644
--- a/lib/sqlalchemy/orm/query.py
+++ b/lib/sqlalchemy/orm/query.py
@@ -519,8 +519,8 @@ class Query(object):
parts_alias = aliased(Part, name="p")
included_parts = included_parts.union_all(
session.query(
- parts_alias.part,
parts_alias.sub_part,
+ parts_alias.part,
parts_alias.quantity).\\
filter(parts_alias.part==incl_alias.c.sub_part)
)
diff --git a/lib/sqlalchemy/sql/selectable.py b/lib/sqlalchemy/sql/selectable.py
index cfa229f94..2aa2c0f40 100644
--- a/lib/sqlalchemy/sql/selectable.py
+++ b/lib/sqlalchemy/sql/selectable.py
@@ -1467,8 +1467,8 @@ class SelectBase(Executable, FromClause):
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)
@@ -1479,8 +1479,6 @@ class SelectBase(Executable, FromClause):
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()
diff --git a/test/sql/test_cte.py b/test/sql/test_cte.py
index 0f6831375..887d56710 100644
--- a/test/sql/test_cte.py
+++ b/test/sql/test_cte.py
@@ -77,8 +77,8 @@ class CTETest(fixtures.TestBase, AssertsCompiledSQL):
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)
)
@@ -93,8 +93,8 @@ class CTETest(fixtures.TestBase, AssertsCompiledSQL):
"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, "
@@ -109,8 +109,8 @@ class CTETest(fixtures.TestBase, AssertsCompiledSQL):
"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, "