Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQLAlchemy:带有case语句的逻辑运算符_Sqlalchemy - Fatal编程技术网

SQLAlchemy:带有case语句的逻辑运算符

SQLAlchemy:带有case语句的逻辑运算符,sqlalchemy,Sqlalchemy,这是我的mssql代码片段 SELECT Sum((Case When me.status not in ('CLOSED','VOID') and me.pc_cd in ('IK','JM') Then 1 else 0 end)) as current_cd from ccd_pvc me with(nolock) 如果我在sqlalchemy中编写上述语句,我将如何在case语句中使用和运算符 我试过这样做,但没有成功 case([and_((ccd_pvc.status.in_

这是我的mssql代码片段

SELECT
Sum((Case  When me.status not in ('CLOSED','VOID') and me.pc_cd in ('IK','JM')
Then 1 else 0 end)) as current_cd
from
ccd_pvc me with(nolock)  
如果我在sqlalchemy中编写上述语句,我将如何在case语句中使用运算符

我试过这样做,但没有成功

case([and_((ccd_pvc.status.in_(['CLOSED', 'VOID']),ccd_pvc.pc_cd.in_(['IK','JM'])),
literal_column("'greaterthan100'"))])
我已经搜索了,但没有找到有关在case语句中使用逻辑运算符的信息


有一些关于这方面的信息。

这应该让您开始:

ccd_pvc = aliased(CcdPvc, name="me")

expr = func.sum(
    case([(and_(
        ccd_pvc.status.in_(['CLOSED', 'VOID']),
        ccd_pvc.pc_cd.in_(['IK', 'JM'])
    ), 1)], else_=0)
).label("current_cd")

q = session.query(expr)

这应该让你开始:

ccd_pvc = aliased(CcdPvc, name="me")

expr = func.sum(
    case([(and_(
        ccd_pvc.status.in_(['CLOSED', 'VOID']),
        ccd_pvc.pc_cd.in_(['IK', 'JM'])
    ), 1)], else_=0)
).label("current_cd")

q = session.query(expr)

这应该让你开始:

ccd_pvc = aliased(CcdPvc, name="me")

expr = func.sum(
    case([(and_(
        ccd_pvc.status.in_(['CLOSED', 'VOID']),
        ccd_pvc.pc_cd.in_(['IK', 'JM'])
    ), 1)], else_=0)
).label("current_cd")

q = session.query(expr)

这应该让你开始:

ccd_pvc = aliased(CcdPvc, name="me")

expr = func.sum(
    case([(and_(
        ccd_pvc.status.in_(['CLOSED', 'VOID']),
        ccd_pvc.pc_cd.in_(['IK', 'JM'])
    ), 1)], else_=0)
).label("current_cd")

q = session.query(expr)