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

 更新时间:2009年11月08日 23:44:44   作者:  
很多情况下,需要采用多个参数来查询一张临时表,每个参数都要求得到不同的临时表结果集。而往往某些参数并不对应这张临时表中的字段,而是对应与该临时表ID关联的另一张表的字段。
当我写下如下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

相关文章

  • SQL Server数据库判断最近一次的备份执行结果(最新推荐)

    SQL Server数据库判断最近一次的备份执行结果(最新推荐)

    这篇文章主要介绍了SQL Server数据库判断最近一次的备份执行结果,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • Sql学习第一天——SQL 练习题(建表/sql语句)

    Sql学习第一天——SQL 练习题(建表/sql语句)

    来自Madrid且订单数少于3的消费者,针对这个要求作出以下:建表 做题分析以及sql语句的写法,感兴趣的朋友可以参考下哈,希望可以帮助到你
    2013-03-03
  • SQLServer CONVERT 函数测试结果

    SQLServer CONVERT 函数测试结果

    SQLServer CONVERT 函数的一些测试结果,大家可以很方便的参考各个参数的结果。
    2009-07-07
  • SQL Server 置疑、可疑、正在恢复等情况分析

    SQL Server 置疑、可疑、正在恢复等情况分析

    有些时候当你重启了数据库服务,会发现有些数据库变成了正在恢复、置疑、可疑等情况,这个时候DBA就会很紧张了,下面是一些在实践中得到证明的方法
    2011-12-12
  • SQL Server日志清理3种实现方式

    SQL Server日志清理3种实现方式

    这篇文章主要给大家介绍了关于SQL Server日志清理3种实现方式的相关资料,在数据库使用很久后日志文件会累计的越来越大,如果硬盘空间不足可能会导致宕机,需要的朋友可以参考下
    2023-09-09
  • sql中常见的四种排名函数的用法

    sql中常见的四种排名函数的用法

    本文主要介绍了sql中常见的四种排名函数的用法,主要包括row_number,rank,dense_rank,ntile,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • 和表值函数连接引发的性能问题分析

    和表值函数连接引发的性能问题分析

    最近调优过程中遇到一个问题,就是表值函数作为连接中的一部分时,可能会引起麻烦,本文会简单阐述表值函数是什么,以及为什么使用表值函数进行连接时会引发性能问题
    2015-02-02
  • sqlserver数据库移动数据库路径的脚本示例

    sqlserver数据库移动数据库路径的脚本示例

    前段时间做过这么一件事情,把原本放在c盘的所有数据库(除了sql server系统文件外)文件Move到D盘,主要是为了方便后续管理以及减少磁盘I/O阻塞(C,D是2个独立磁盘)。脚本需输入2个参数:目标数据库名字和目标目录
    2013-12-12
  • SQL Function 自定义函数详解

    SQL Function 自定义函数详解

    这篇文章主要介绍了SQL Function 自定义函数详解,需要的朋友可以参考下
    2016-10-10
  • 一次SQL查询优化原理分析(900W+数据从17s到300ms)

    一次SQL查询优化原理分析(900W+数据从17s到300ms)

    本文主要介绍了一次SQL查询优化原理分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06

最新评论