小编nic*_*.xu的帖子

sqlalchemy如何在OR操作中使用AND?

我需要执行以下查询:

SELECT *
FROM tbl_member
WHERE (member_type==1 AND member_status==1)
   OR (member_type==2 and member_status==2)
Run Code Online (Sandbox Code Playgroud)

我试过了:

q=session.query(tbl_member) \
  .filter(or_(and_(tbl_member.member_type==1,tbl_member.member_status==1), \
              and_(tbl_member.member_type==2,tbl_member.member_status==2)))
Run Code Online (Sandbox Code Playgroud)

q=session.query(tbl_member) \ 
  .filter(or_((and_(tbl_member.member_type==1,tbl_member.member_status==1)), \
              (and_(tbl_member.member_type==2,tbl_member.member_status==2))))
Run Code Online (Sandbox Code Playgroud)

查询sql仍然是这样的:

SELECT *
FROM tbl_member
WHERE member_type==1 AND member_status==1 OR member_type==2 AND member_status==2
Run Code Online (Sandbox Code Playgroud)

我应该怎么做?

python sql mixed sqlalchemy parentheses

5
推荐指数
1
解决办法
3562
查看次数

标签 统计

mixed ×1

parentheses ×1

python ×1

sql ×1

sqlalchemy ×1