sqlalchemy动态组合查询语句。

        if filter_type == 1:
            search = and_(GameRoom.status ==1,or_(
                and_(GameRoom.white_user_id == user_id,
                     GameRoom.active_player == 1),
                and_(GameRoom.black_user_id == user_id,
                     GameRoom.active_player == 0)))
        elif filter_type == 2:
            search = and_(GameRoom.status ==1,or_(
                and_(GameRoom.white_user_id == user_id,
                     GameRoom.active_player == 0),
                and_(GameRoom.black_user_id == user_id,
                     GameRoom.active_player == 1)))
        elif filter_type == 3:
            search = GameRoom.create_by == user_id

        db.session.query(GameRoom).filter(search).all()

原文地址:https://www.cnblogs.com/jackadam/p/9536368.html

时间: 2024-10-18 08:03:06

sqlalchemy动态组合查询语句。的相关文章

生成jFinal的动态条件查询语句的工具类

因为有时候需要根据前台的多个条件来过滤数据!因此需要根据是否有值以及当前值是以什么方式来过滤.这样我们不可能一个一个值来判断吧!这样代码就有些难看了!而jFinal也没有提供这样的方法,而网上的一些解决方法感觉不太好用麻烦而且不够灵活!基于这个考虑我就自己写了一个工具类!目前来说用着还挺方便的!如果有什么不对或者改进的地方请指正,大家共同进步! /**  * 用于生成JFinal的SQL查询语句<br>  * 类名称:Conditions<br>  * 创建人:yangxp<

EF 拉姆达 动态拼接查询语句

EF 动态拼接查询语句 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Linq.Expressions; using System.Security.Cryptography; using System.Text; namespace Aliexpress.Common.CommonHelper { //public static class Pre

获取动态SQL查询语句返回值(sp_executesql)

在写存储过程时经常会遇到需要拼接SQL语句的情况,一般情况下仅仅是为了执行拼接后的语句使用exec(@sql)即可. 而今天的一个存储过程却需要获取动态SQL的查询结果. 需求描述:在某表中根据Id值查询Cost值(表名不确定但表结构确定,如下面的Product表) 如果不考虑获取返回值,我们这样写即可: declare @tableName varchar(50) declare @id varchar(10) declare @cost numeric(18,2) declare @sql

hibernate通过判断参数动态组合Hql语句,生成基本通用查询

1 // 2 public List find(Station entity) { 3 List reuslt = null; 4 5 // 字符串辅助类 6 StringBuffer hql = new StringBuffer("from Station where 1=1"); 7 8 List vp = new ArrayList(); 9 10 if (entity != null) { 11 12 //小于0的和null都不做比较 13 if (entity.getCzdm

ASP.NET 分页+组合查询 练习

分页和组合查询都是通过拼接SQL语句到数据库查询进行实现 到汽车表(car)中查询 ,汽车表选取了“编号 code”,“车名 name”,“日期 time”,“油耗 oil ”,“马力 powers”这几列 分页查询语句:每页只显示五条数据 查询前五条数据: select top 5 from car 点击下一页按钮:select top 5 from car where code not in(select top 5 code from car)//第二页的时候通过编号,查询前五条之后的数据

SQL语句汇总(三)——聚合函数、分组、子查询及组合查询 - Darly

–COUNT:统计行数量 –SUM:获取单个列的合计值 –AVG:计算某个列的平均值 –MAX:计算列的最大值 –MIN:计算列的最小值 首先,创建数据表如下: 执行列.行计数(count): 标准格式 SELECT COUNT(<计数规范>) FROM <表名> 其中,计数规范包括: - * :计数所有选择的行,包括NULL值: - ALL 列名:计数指定列的所有非空值行,如果不写,默认为ALL: - DISTINCT 列名:计数指定列的唯一非空值行. 例,计算班里共有多少学生:

thinkphp 区间查询 组合查询 复合查询 动态查询 SQL查询

区间查询 默认使用AND 在最后面元素加上OR  SELECT * FROM `weibo_user` WHERE ( `id` > 1 OR `id` < 3 ) $map['id']=array(   array('gt',1),   array('lt',3),     'OR' ); 组合查询  SELECT * FROM `weibo_user` WHERE `id` = 1 OR ( username = "bnbbs" AND email like "

SqlDataSource 动态组合条件查询

1.使用查询编辑器生成查询语句,在对应条件字段筛选器设置" = ? or ? is NULL",生成如下语句: sql * from table where 字段1 = @参数1 and (字段2 = ? or ? is NULL) 2.点击确定后,返回到“命令与参数编辑器”,刷新参数,自动生成2个新的参数,默认名均为"?".为区分参数,可分别重命名.不重命名也可以,.net在执行时,应该是使用索引来进行参数匹配的.将两个参数的取值均绑定到同一个控件上 3.SqlD

动态查询 字段随机组合查询

今日无事,闲来去往上商场逛逛,哈哈 节日又要到了吧. 发现在网上的查询中,有些字段是由用户自己选择,有时候是一个条件都没有,这样的实现在逻辑上是很容易实现的,只是,着手做的时候,却难度重重,今日无事,变自己写了个存储过程,经验证也小有成效,拿出来与大家分享,希望大家指导. 1 create proc sp_selec 2 @a varchar(10) = null, 3 @b varchar(20) = null, 4 @c varchar(10) = null, 5 @d varchar(10