根据多条件查询临时表 想得到不同结果集的方法

当我写下如下sql语句时,我得到了输入@c参数时想得到的结果集。

select * from @tb t where t.id in (select id from tb where f = @c)

但如果有@a,@b,@c,而它们分别想从@tb中得到不同的结果集,例如

复制代码 代码如下:

if @a is not null

begin

--得到@a想得到的

end

if @b is not null

begin

--得到@b想得到的

end

if @c is not null

begin

--得到@c想得到的

end

这样做好像没什么问题,但如果@a和@b是一起的,甚至是@a,@b,@c,@d,@e,@f等等N多种条件组合,这样就不好办了。所以必须先build好@tb,最后一次性查询

--构造@tb

select * from @tb

假如我已经通过@a,@b得到了一种@tb结果集,当我再次使用@c进行条件判断时,这样就会覆盖刚才的结果。

可以采用“删除不符合条件的记录”的方法来做,由于@tb已经得到了@a,@b想得到的结果,所以只要删除掉不符合@c的结果就行了。完。

复制代码 代码如下:

if @c is not null

begin

delete c from @tb c where c.id not in (select id from tb where f = @c)

end

select * from @tb

时间: 2024-09-28 07:27:41

根据多条件查询临时表 想得到不同结果集的方法的相关文章

根据多条件查询临时表 想得到不同结果集的方法_MsSql

当我写下如下sql语句时,我得到了输入@c参数时想得到的结果集.select * from @tb t where t.id in (select id from tb where f = @c) 但如果有@a,@b,@c,而它们分别想从@tb中得到不同的结果集,例如 复制代码 代码如下: if @a is not null begin --得到@a想得到的 end if @b is not null begin --得到@b想得到的 end if @c is not null begin --

[NHibernate]条件查询Criteria Query

 目录 写在前面 文档与系列文章 条件查询 一个例子 总结 写在前面 上篇文章介绍了HQL查询,我个人觉得使用ORM框架就是为了让少些sql,提高开发效率,而再使用HQL就好像还是使用sql,就觉得有点又回到使用sql的年代.但是完全不用hql也不是绝对的,HQL更接近原生态的sql,对于一些比较复杂的查询,HQL的作用就体现出来了.作为使用面向对象语言的程序员,有时更愿意采用面向对象的方式去思考问题,去实现查询,这就是本篇文章要学习的条件查询(Criteria Query). 文档与系列文章

多字段,任意组合条件查询(0建模) - 毫秒级实时圈人 实践

标签 PostgreSQL , 数组 , GIN索引 , 任意字段组合查询 , 圈人 , ToB分析型业务 , 建模 背景 你也许在一家ToB的数据分析公司,你可能设计了一张表(包括用户标识,及若干已经统计好的的属性值),你也许收集了一些用户的数据,你也许要为客户提供报表,你也许需要为客户提供任意属性值的组合查询,并快速的返回结果给用户. 这些需求应该是非常常见的ToB的数据平台公司的形态,头痛的问题无法建模,因为B端的需求无法捉摸,任意组合查询.要求实时响应. 你的客户数据也许有几十亿上百亿,

MVC 多条件查询,带分页的

问题描述 MVC 多条件查询,带分页的 这是绑定的代码,获取前台 Request.Form[""name""],后怎么增加查询条件 page = page == null ? 1 : page; rows = rows == null ? 1 : rows; List<TBL_M_SECURITY_STAFF> list = db.TBL_M_SECURITY_STAFF.OrderBy(a => a.Security_Staff_ID).Skip

使用准则进行条件查询--1.4.从窗体中选择查询的条件

4.从窗体中选择查询的条件 前面的方法虽然简单,但对用户来说操作不够方便,对设计者来说也难以控制,如果通过窗体来实现,这些问题就可以解决了. 如下面的窗体,运行时用户可以在组合框中选择要查询司机的姓名,按下查询按钮就可以看到查询的结果. 下面详细地列出设计的步骤: 创建一个窗体,按下控件向导按钮,在窗体上添加一个组合框.在第一个对话框中选择"我想让组合框在一个表或查询中查找这些值",下一步. 选择一个为组合框提供数据的表或查询.下一步. 选择组合框中要显示的数据,通常除了选择要显示在组

ASP项目中的通用条件查询模块

一.提出问题:    在大型的ASP项目中,都涉及到了条件查询这一功能.用户要求能够针对特定的字段进行查询.对于有些数据,是从多个表取出来的,因此也要能对多个表进行查询.    一般的话,大多数的做法就是每个程序都做一个查询功能,因为每个查询的表都不同,涉及的字段也不同.但是,如果在大型的ASP项目中这么做的话,不仅增加了工作量.影响开发进度,而且不能使系统模块化.代码复用,增加了系统维护难度.因此,我们有必要使条件查询模块化. 二.解决思路:    我们设计条件查询的功能为:    1.选择查

一个简单实现多条件查询的例子

在我们的网站设计过程中,经常会用到多条件查询,本文的源码是一个二手房屋查询的例子.在本例中,我们要实现能够通过地理位置,物业类型,房屋价格,房屋面积及信息发布日期等多个条件查询到客户所需的资料.以下是实现过程. 查询条件界面(略): 查询文件(search.php) 一.生成查询语句: <? $conn=mysql_connect("localhost","root",""); $db=mysql_select_db("lingy

NHibernate之旅(4):探索查询之条件查询(Criteria Query)

本节内容 NHibernate中的查询方法 条件查询(Criteria Query) 1.创建ICriteria实例 2.结果集限制 3.结果集排序 4.一些说明 根据示例查询(Query By Example) 实例分析 结语 上一节,我们介绍了NHibernate查询语言的一种:NHibernate查询语言(HQL,NHibernate Query Language),这一节介绍一下条件查询(Criteria API). NHibernate中的查询方法 在NHibernate中提供了三种查

Java正则表达式实现条件查询浅析

Java正则表达式实现条件查询实例是如何的呢?我们在实际开发的过程中会碰到这样子的实际需求,那么我们来看看具体的实现过程,希望对你有所帮助. Java正则表达式实现条件查询实例: //Java正则表达式实现条件查询的要求:以正则条件查询指定目录下文件 //用于缓存文件列表 private ArrayList files = new ArrayList(); //用于承载文件路径 private String _path; //用于承载未合并的正则公式 private String _regexp