Как получить sqlalchemy для указания inner
в его sql выводе для соединения.
Я использую sqlalchemy для создания представлений на основе запроса ниже. Мой объект схемы просто содержит несколько связанных таблиц sqlalchemy.
scheme = Core_MDGSQLP03.Staging_BasicGaTest()
type(scheme.Staging)
type(scheme.IdMatch)
scheme.IdMatch.c.ID.label('ID')
sql = sql.select(
[scheme.IdMatch.c.ID.label('ID')] + \
[c.label(c.name) for c in scheme.Staging.columns]
).\
select_from(
scheme.IdMatch.join(
scheme.Staging,
scheme.Staging.c.DmHashKeys == scheme.IdMatch.c.DmHashKeys
)
)
print(sql)
#output
#> <class 'sqlalchemy.sql.schema.Table'>
#> <class 'sqlalchemy.sql.schema.Table'>
#>
SELECT [IdMatch].[BasicGaTest].[ID] AS [ID]
, [Staging].[BasicGaTest].[SYS_OPERATION] AS [SYS_OPERATION]
, [Staging].[BasicGaTest].[DmHashKeys] AS [DmHashKeys]
, [Staging].[BasicGaTest].[ga:client] AS [ga:client]
, [Staging].[BasicGaTest].[ga:source] AS [ga:source]
FROM [IdMatch].[BasicGaTest]
JOIN [Staging].[BasicGaTest]
ON [Staging].[BasicGaTest].[DmHashKeys] = [IdMatch].[BasicGaTest].[DmHashKeys]
Обратите внимание, что мой вывод sql читает JOIN
. Мне действительно нужно это сказать INNER JOIN
. Как сделать так, чтобы SQLAlchemy указывал это?