How do I get sqlalchemy to specify inner
within its sql output for a join.
I'm using sqlalchemy to create views based on the below query. My scheme object just holds a number of related sqlalchemy Tables.
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]
Notice how my sql output reads JOIN
. I really need that say INNER JOIN
. How do I make SQLAlchemy specify this?