别名相同的表被视为不同的表

时间:2018-08-06 17:40:38

标签: python sqlalchemy

我有以下代码段:

users = users.alias('t1')

stmt = select([
    users.c.name
]).select_from(
    users
).where(
    users.c.name == 'Jack'
)

其中usersTable。这很好。编译为:

SELECT t1.name
FROM users AS t1
WHERE t1.name = :name_1

但是,如果我这样做:

stmt = select([
    users.alias('t1').c.name
]).select_from(
    users.alias('t1')
).where(
    users.alias('t1').c.name == 'Jack'
)

我得到三个具有相同名称的不同表:

SELECT t1.name
FROM users AS t1, users AS t1, users AS t1
WHERE t1.name = :name_1

问题是我正在构建表达式 不同的功能,我想避免传递users.alias() 周围。我可以配置SQLAlchemy以基于 我一个人提供的名字? (在我的示例中为t1

0 个答案:

没有答案