在sqlalchemy中,我正在尝试合并表格,然后使用WHERE
和ORDER_BY
创建别名。
类似以下内容:
SELECT *
FROM (
SELECT [TABLE_ONE].[SOME_ID] AS [SOME_ID]
FROM [TABLE_ONE]
UNION
SELECT [TABLE_TWO].[SOME_ID] AS [SOME_ID]
FROM [TABLE_TWO]
) AS anon_1
WHERE ...
SQLAlchemy:
select_q = select([TABLE_ONE.c.SOME_ID], TABLE_ONE)
select_w = select([TABLE_TWO.c.SOME_ID], TABLE_TWO)
union_qw = union(select_q,select_w)
union_qw_aliased = aliased(union_qw)
s = select('*',union_qw_aliased)
但是SQLAlchemy生成的是SQL代码:
SELECT anon_1.[SOME_ID]
FROM (SELECT [TABLE_ONE].[SOME_ID] AS [SOME_ID]
FROM [TABLE_ONE] UNION SELECT [TABLE_TWO].[SOME_ID] AS [SOME_ID]
FROM [TABLE_TWO]) AS anon_1
WHERE SELECT [TABLE_ONE].[SOME_ID]
FROM [TABLE_ONE] UNION SELECT [TABLE_TWO].[SOME_ID]
FROM [TABLE_TWO]
非常感谢您的帮助。