当前位置: 首页 > 面试题库 >

SQL MS Access查询的排除条件

徐星阑
2023-03-14
问题内容

要求:生成一个查询,该查询根据用户输入的StartDate,EndDate和Upper Data Threshold输入基于电话号码的数据。

这些输入变量是查询的界限。因此,SELECT语句相应地写在下面。

唯一需要注意的是,如果某个电话号码的单个记录超过了“上限数据阈值”,那么与该违规电话号码相关联的所有电话号码记录都不应输出,无论该相同电话号码的其他记录是否违反该记录。数据阈值。以下是样本输入和预期输出:

User input Start Date: 1/15/2015
User input End Date: 11/15/2015
User input Upper Data Threshold in kB: 50

[Master] Table in Access:
Invc Date  Mobile Nbr     PktDtVol   
---------  ----------     --------   
1/15/15   647-409-8206    48kB
2/15/15   647-409-8206    33kB
3/15/15   647-409-8206    8000kB
4/15/15   647-409-8206    20kB
5/15/15   647-409-8206    10kB
6/15/15   647-409-8206    0kB
7/15/15   718-500-2311    3kB
8/15/15   718-500-2311    45kB
9/15/15   718-500-2311    25kB
10/15/15  514-300-3311    33kB
11/15/15  514-300-3311    20kB

[Temp_Table]中的预期输出:

Invc Date  Mobile Nbr     PktDtVol    Difference in Days 
---------  ----------     --------   -------------------
7/15/15    718-500-2311    3kB             304
8/15/15    718-500-2311    45kB            304
9/15/15    718-500-2311    25kB            304
10/15/15   514-300-3311    33kB            304
11/15/15   514-300-3311    20kB            304

我当前的解决方案

PARAMETERS [Start Date] DateTime, [End Date] DateTime, [Upper Bound
Usage in KB] IEEEDouble;

SELECT [Master].[Invc Date], [Master].PktDtVol, [Master].[Mobile Nbr],
DateDiff("d",[Start Date],[End Date]) AS [Difference in days] INTO
Temp_Table
FROM [Master]
WHERE ((([Master].[Invc Date]) >= [Start Date] And
       ([Master].[Invc Date])<=[End Date]) AND
      (([Master].PktDtVol)<= [Upper Bound Usage in KB]));

647-409-8206记录不会在输出中出现,因为只用了1条记录就超过了50kB(是第3条记录),因此所有647-409-8206条记录都将被忽略。

请感谢任何帮助!谢谢!


问题答案:

首先编写一个子查询,选择一行违反阈值的所有(不同的)移动电话号码。然后从表中选择所有行WHERE [Mobile Nbr] NOT IN (subquery)



 类似资料:
  • 问题内容: 是否可以在单个SQL语句中执行以下操作: 例如,在提示中使用电话号码的子集。然后查询其中包含电话号码的数据库,并返回原始子集中哪些电话号码不在我的数据库中?我的数据库是Oracle 10g。 基本上,我不想知道哪个电话号码不在数据库中,而是要取回它们之间的电话号码。 问题答案: 假设电话号码是NUMBER,则可以生成特定范围内的所有电话号码的列表 然后,您可以将该范围内所有电话号码的列

  • 我试图将查询与exclude查询一起使用,以便它匹配除要排除的术语之外的所有术语。我在一个基本的URI查询中找到了它,但不是常规的JSON查询。如何将此URI转换为JSON类型查询? 其中是不匹配的标记列表。 这是我目前所掌握的: 但是,当我这样做时,仍然包含在结果中。如何排除?

  • 问题内容: 我正在尝试做一个标准查询,该查询返回像常见问题一样的stackoverflow中回答最多的问题。 一个问题包含多个答案。 我试图以标准查询返回按每个问题的答案数排序的最常回答的问题。 有人知道我应该在hibernate标准util中使用什么吗? 问题答案: 这将返回一个Object []列表。每个Object []都将问题的ID作为第一个元素,并将此问题的答案数目作为第二个元素。问题按

  • 问题内容: 具有以下映射: 我在上面放了两个项目: 现在,我想在每个字段上搜索,但是,所以我要做的是: 它应该只显示该项目,因为第二个项目带有单词,但是它在上,这就是我要忽略的内容。如何存档? PS:这只是一个简单的示例,我有一个包含很多属性的映射,我想在某些搜索中忽略其中的一些属性。 PS2:我正在使用ES 2.3.2 问题答案: 该设置仅在不返回响应中的字段时才有用,但这并不排除搜索该字段。

  • 我有一个表,有以下列 我想要一个查询(下面查询的修改版本),如果上面的表中给定的work_date和员工ID(GROUP BYEMP_ID和WORK_DATE)超过1行,它将返回一行。所以我写了如下查询: 例如: 如果我通过1/1/2013 for:p_WorkDate,查询应返回如下: 基本上,我试图找出EMP\u ID和WORK\u DATE是否有超过1行,但还有一个额外的要求,即元素列包含什

  • v3.0开始,herosphp 提供了一套全新的设置查询条件的接口: MysqlModel::where($field, $opt, $value); 参数名称 参数类型 参数说明 $field string OR function 字段名称, 如果传入的是 function 的话,则说明是闭包. 闭包传入的是一组查询条件。 $opt string 操作符,如果不传入 $value 的情况下,$o