Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >SQL查询:根据多个表中的条件检索记录

SQL查询:根据多个表中的条件检索记录
EN

Stack Overflow用户
提问于 2012-04-11 06:30:31
回答 1查看 2.5K关注 0票数 0

设置

我正在使用Server来跟踪生产环境中的各种情况。数据库有两个表:

  1. 状态表:它跟踪这些案例的状态,其中一列包含表示案例状态的整数代码。代码大于0的所有情况都是“生产中”的,而代码小于或等于0的情况要么是“完全”的,要么是"canceled".
  2. Log表:这跟踪了在特定情况下发生了哪些更改以及何时发生了这些更改。“什么”方面被捕获为字符串和代码。"when“是一个日期时间字段.

问题/任务/问题

我想查询所有在生产中的案例,以及在过去两天内完成或取消的所有案例,。在日志中,我有一个datetime列和一个特定于取消或完成一个案例的代码。我假设查询可能会JOIN日志中的任何一种情况,这些代码中的任何一种都有日期时间在48小时之前。但我不太确定该怎么做。我查询的第一部分(获取正在生成的案例)如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT * FROM test.dbo.status WHERE status > 0

任何帮助都将不胜感激。提前感谢!

更新以澄清两件事:

  1. I希望查询返回status表中的所有列,以查找符合上述条件的记录,而不仅仅是ID或其他内容。

  1. 表结构:

创建表dbo.status创建表status

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-11 06:36:28

考虑到你没有提供任何结构,我会从这样的事情开始。

查询1:返回的记录数将是来自LogTable的匹配记录数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT StatusTable.ID, LogTable.When, etc etc etc.
FROM StatusTable INNER JOIN LogTable
  ON StatusTable.ID = LogTable.ID
WHERE StatusTable.status > 0
  OR (LogTable.WhatCode = 97   --Assumes 97 is your desired code.
  AND LogTable.When >= dateadd(hh, -48, GetDate()))

添加了

查询2:使用子查询而不是连接从LogTable获取所需的ID。(您也可以查看EXISTS运算符而不是IN)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT StatusTable.ID, StatusTable.otherField, etc etc
FROM StatusTable
WHERE StatusTable.status > 0 
  OR StatusTable.ID IN (SELECT LogTable.ID FROM LogTable WHERE LogTable.WhatCode = 97   --Assumes 97 is your desired code.
      AND LogTable.When >= dateadd(hh, -48, GetDate()))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10108016

复制
相关文章
mybatis多条件查询sql_sql模糊查询多个条件
步骤1:先运行,看到效果,再学习步骤2:模仿和排错步骤3:在前一步的基础上进行步骤4:模糊查询步骤5:多条件查询
全栈程序员站长
2022/10/03
3.4K0
mybatis多条件查询sql_sql模糊查询多个条件
mysql根据分组和条件查询以后如何统计记录的条数
1、子查询,查询出的数据随便起一个别名,然后根据分组和条件查询出的数据,作为一个具有一列的一个表,然后外面的查询查询这个数据表的这一列的总数,即可。    
别先生
2018/12/07
4.7K0
Rafy 中的 Linq 查询支持(根据聚合子条件查询聚合父)
为了提高开发者的易用性,Rafy 领域实体框架在很早开始就已经支持使用 Linq 语法来查询实体了。但是只支持了一些简单的、常用的条件查询,支持的力度很有限。特别是遇到对聚合对象的查询时,就不能再使用 Linq,而只能通过构造底层查询树的接口来完成了。由于开发者的聚合查询的需求越来越多,所以本周我们将这部分进行了增强。 接下来,本文将说明 Rafy 框架原来支持的 Linq 语法,以及最新加入的聚合查询支持及用法。 使用 Linq 查询的代码示例 public WarehouseList GetByCod
用户1172223
2018/01/29
2.7K0
SQL:删除表中重复的记录
--创建测试表 if object_id('test') is not null drop table test create table test ( id int identity(1,1) primary key, name varchar(50) ) --插入几条测试数据 insert into test select 'a' union all select 'a' union all select 'a' union all select 'a' union all select 'a
用户8983410
2021/11/02
4.8K0
根据SQL提炼表信息
在MySQL慢日志通过pt工具解析后有一个小问题,那就是我们很难得到一个完整的table列表,即假设一条SQL语句很长,那么我们其实想知道这条SQL相关的表是哪几个,如果能够很清晰的提炼出来,那么我们要做后续的分析就会锦上添花。
jeanron100
2019/05/08
4780
PostgreSQL 如果想知道表中某个条件查询条件在索引中效率 ?
最近一直在寻找,如何不通过 select count(*) from table where 字段 = ‘值’ 类似这样的语句,大约会产生多少结果行的问题的解决方案。在一些大表存在的数据库,去不断查询某一个值在这个大表里面的行数,一直是不受欢迎的事情,最后找到了一个还算靠谱的方案。
AustinDatabases
2023/09/18
1890
PostgreSQL  如果想知道表中某个条件查询条件在索引中效率 ?
sql server根据表中数据生成insert语句
修正了表中的字段如果是SQL中的关键字(如Order)时,生成的脚本执行会出错的bug
跟着阿笨一起玩NET
2018/09/18
1.5K0
查询SQLSERVER执行过的SQL记录(历史查询记录)
字符串int 拼接 SELECT ‘a-‘ + CONVERT(varchar(50), log_ID) AS Expr1, log_Title, log_Url FROM blog_Article
全栈程序员站长
2022/07/09
6K0
Spark SQL解析查询parquet格式Hive表获取分区字段和查询条件
sparksql处理Hive表数据时,判断加载的是否是分区表,以及分区表的字段有哪些?再进一步限制查询分区表必须指定分区?
大数据学习与分享
2020/08/10
2.6K0
Spark SQL解析查询parquet格式Hive表获取分区字段和查询条件
SQL的单表查询
create database mydb1; Create database mydb2 character set gbk; Create database mydb3 character set gbk COLLATE gbk_chinese_ci;
全栈程序员站长
2021/07/22
2.2K0
RestHighLevelClient一次查询多个条件
就像bulk在多文档索引时提高效率一样,msearch也能提升多个查询的执行效率,这里主要考虑到网络消耗,使用search查询可能要循环执行N遍,但是使用msearch一次从客户端一次客户请求即可。下面给出实例代码:
johnhuster的分享
2022/03/29
2.2K0
Hibernate中 hql多条件查询 mysql hql删除记录
session.createQuery(deleteLikeHql).executeUpdate()
全栈程序员站长
2022/09/07
3K0
TP5 where数组查询(模糊查询--多个查询条件)
上表中的 exp 不是一个运算符,而是一个综合表达式以支持更复杂的条件设置。exp 的操作条件不会被当成字符串,可以使用任何 SQL 支持的语法,包括使用函数和字段名称。
php007
2019/10/29
6.4K0
TP5 where数组查询(模糊查询--多个查询条件)
SQL Server判断表中是否存在记录的SQL语句
SQL Server数据库判断记录是否存在,要不是语句不够简洁,要不就是性能有很大问题,简直就是忍无可忍!
跟着阿笨一起玩NET
2020/03/18
4.9K0
SQL嵌套查询_sql嵌套查询返回多个字段
说到嵌套查询,首先得理解嵌套查询是什么意思,简单来说就是,一个查询语句可以嵌套在另外一个查询语句的where子句中。外层的查询称为父查询(主查询),内层的查询称为子查询(从查询)。
全栈程序员站长
2022/09/22
2.9K0
MySQL随机查询符合条件的几条记录
随机查询,方法可以有很多种。比如,查询出所有记录,然后随机从列表中取n条记录。使用程序便可实现。可是程序实现必须查询出所有符合条件的记录(至少是所有符合条件的记录id),然后再随机取出n个id,查询数据库。但是效率毕竟没有数据库中直接查询得快。下面介绍MySQL中怎样随机查询n条记录。
星哥玩云
2022/08/16
3.9K0
Sql学习笔记(二)—— 条件查询
上篇简单介绍了一下sql的一些基础增删改查语句,而针对多种多样的查询语句则未详细说明,这一篇继续记录一下关于各种条件查询的知识。
CherishTheYouth
2019/09/11
9270
Sql学习笔记(二)—— 条件查询
谈谈SQL查询中回表对性能的影响
业务需要,LIKE 的时候必须使用模糊查询,我当然知道这会导致全表扫描,不过速度确实太慢了,直观感受,全表扫描不至于这么慢!
LA0WAN9
2021/12/14
2.4K0
谈谈SQL查询中回表对性能的影响
你必须掌握的一些常见的SQL语句,包含单表查询、高级查询(连接查询、复合条件查询、嵌套查询)
分享一些常见的SQL语句,包含单表查询、高级查询(连接查询、复合条件查询、嵌套查询等)。 --建立学生信息表Students create table Students ( SId char(5) not null primary key, SName nvarchar(20) unique, SGender char(10) default('Male'), SAge int, SSdept nvarchar(250) ) --课程表 create tab
用户1161731
2018/01/11
2.6K0
sql嵌套查询效率_sql嵌套查询返回多个字段
为了查询一个字段,使用了五层嵌套循环,但是花费了约1分钟 但是5个表的数据每个最多只有10条,怎么会这么慢呢?
全栈程序员站长
2022/09/22
2.8K0
sql嵌套查询效率_sql嵌套查询返回多个字段

相似问题

根据多个条件和位置条件检索多个记录

31

如何根据Hbase表中的条件检索记录?

25

如何在SQL中根据条件从多个表中检索数据

20

根据键值列表有条件地检索记录的SQL查询

20

根据表中的其他条件查询记录(选择记录)

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文