gpt4 book ai didi

sqlalchemy - 你能在 SQLAlchemy 中没有子查询的情况下执行 UNION 吗?

转载 作者:行者123 更新时间:2023-12-02 01:26:25 24 4
gpt4 key购买 nike

Another question shows how to do a union in SQLAlchemy.

是否可以在不使用子查询的情况下在 SQLAlchemy 中执行联合?

例如,在链接问题 SQLAlchemy 中生成的 SQL 形式如下:
SELECT * FROM (SELECT column_a FROM table_a UNION SELECT column_b FROM table_b)
但我希望 SQLAlchemy 生成如下 SQL:
SELECT column_a FROM table_a UNION SELECT column_b FROM table_b
后一个 SQL 更短,不使用子查询,并且做同样的事情。 SQLAlchemy 可以生成像后一个查询那样的联合吗?

最佳答案

SQLAlchemy SQL Expression Language Tutorial :

您可以使用 sqlalchemy.sql.expression.union :

>>> from sqlalchemy.sql import union
>>> u = union(
... addresses.select().
... where(addresses.c.email_address == 'foo@bar.com'),
... addresses.select().
... where(addresses.c.email_address.like('%@yahoo.com')),
... ).order_by(addresses.c.email_address)

>>> u.compile()
SELECT addresses.id, addresses.user_id, addresses.email_address FROM
addresses WHERE addresses.email_address = ?
UNION
SELECT addresses.id,
addresses.user_id, addresses.email_address FROM addresses WHERE
addresses.email_address LIKE ? ORDER BY addresses.email_address
('foo@bar.com', '%@yahoo.com')

关于sqlalchemy - 你能在 SQLAlchemy 中没有子查询的情况下执行 UNION 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36876121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com