根据多条件查询临时表想得到不同结果集的方法
方法 查询 不同 结果 条件 根据 临时
2023-06-13 09:14:14 时间
当我写下如下sql语句时,我得到了输入@c参数时想得到的结果集。
select*from@tbtwheret.idin(selectidfromtbwheref=@c)
但如果有@a,@b,@c,而它们分别想从@tb中得到不同的结果集,例如
复制代码代码如下:
select*from@tbtwheret.idin(selectidfromtbwheref=@c)
但如果有@a,@b,@c,而它们分别想从@tb中得到不同的结果集,例如
if@aisnotnull
begin
--得到@a想得到的
end
if@bisnotnull
begin
--得到@b想得到的
end
if@cisnotnull
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@cisnotnull
begin
deletecfrom@tbcwherec.idnotin(selectidfromtbwheref=@c)
end
select*from@tb
相关文章
- Hibernate通过SQL查询常量时只返回第一个字符解决方法详解编程语言
- Oracle 等待事件 dispatcher timer 官方解释,作用,如何使用及优化方法
- MySQL中查询表中数据的方法(mysql查询表中数据)
- Mysql中给字段赋予有效值的方法(mysql给字段赋值)
- Linux 使用gzip压缩单个文件的方法(linux压缩单个文件)
- MySQL查询结果的编号索引方法(mysql查询结果编号)
- 不同值查询MySQL查询相同字段不同值的方法(mysql相同字段)
- MySQL中实现分组查询的方法(mysql的分组查询)
- 解决Linux死锁问题的有效方法(linux死锁)
- IDMSSQL查询用户表中最大ID的实现方法(Mssql查询用户表最大)
- MySQL中in和out查询语句的使用方法与区别(mysql中in和out)
- mysql查询频繁导致死机,解决方法大揭秘(mysql一查询就死机)
- 探究mysql不同实例查询的方法与技巧(mysql不同实例查询)
- MySQL查询不同字段的方法详解(mysql不同字段怎么查)
- MySQL上传语句方便快捷的数据库数据导入方法(mysql上传语句)
- Redis中遍历Key值的简单方法(redis遍历key值)
- 解决Oracle 00821错误的方法指南(oracle 00821)
- MySQL查询结果取交集的实现方法
- 内核线程优先级设置的方法介绍
- js时间戳格式化成日期格式的多种方法
- 安装MySQL在最后的startservice停住了解决方法
- MongoDB查询操作限制返回字段的方法
- js中iframe调用父页面的方法
- mysql优化limit查询语句的5个方法
- MySQL使用临时表加速查询的方法