указать inner в выходных данных sqlalchemy - PullRequest
0 голосов
/ 24 марта 2020

Как получить 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 указывал это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...