Python,sqlalchemy,Select with WHERE IN claus

2024-05-11 04:37:54 发布

您现在位置:Python中文网/ 问答频道 /正文

使用Python和sqlalchemy:

如何使用WHERE实现以下MySQL语句。。。在子句中使用元组?

SELECT * FROM mytable WHERE (symbol, volume) IN (('ES', 238 ),('GB', 500 ),('OH', 800 ));

在sqlalchemy内核中(即ORM版本)

我查看了文档,通常在SO/google上,找不到这个。。。


Tags: infromessqlalchemymysqlmytable语句symbol
3条回答

假设您使用声明式样式(即ORM类)。对于您的表,应该有一个orm类。我假设它是我的桌子。代码如下:

keys = [
    ('ES', 238 ),('GB', 500 ),('OH', 800 )
]

select([
    MyTable.url
]).select_from(
    MyTable
).where(
    tuple_(MyTable.symbol, MyTable.volume).in_(keys)
)
from sqlalchemy import tuple_
stmt = select([mytable]).where(tuple_(mytable.c.symbol,mytable.c.volume)
                               .in_([('ES',238),('GB',500),('OH',800)]))

相关问题 更多 >