首页 > 解决方案 > 使用数组过滤结果的数据库 SQL 查询

问题描述

我正在尝试隔离数据以在计划过程中使用。该表包含超过 900 万行数据。我一直在使用 Excel 通过一系列数组公式过滤数据,这变得太耗时而无法继续。将数据从数据库传输到 excel 文件根本不需要很长时间,所以我希望我可以通过查询过滤数据,以减少获取可用数据的整体处理时间。

我不是 SQL 专家,Excel 一直为我完成这项工作。我的问题:如何在 SQL 查询中编写一个数组来根据以下条件过滤数据:

  1. Job_Operation.Job 是主要的。需要过滤以仅显示一个 Job_Operation.Status
  2. Job_Operation.Sequence 包含 1 到 25 个条目,并且唯一分配给每个 Job_Operation.Job。Job_Operation.Status 用 O 或 C 表示操作是否完成。有时操作员不扫描条目,因此可能存在间隙。即序列1是C,序列2是O,序列3是C,这表明序列2没有被操作员关闭。
  3. Job_Operation.Last_Updated 是我使用 Excel 构建数组的字段。我要求 Excel 根据时间提供 MAX 结果,并显示下一个序列。如果给定 Job_Operation.Job 中的最新时间戳是“7/28/21 1:03pm”,请显示序列号,加 1 以显示下一个序列并返回该行。如果为假,则返回最后(当前)行。
SELECT Job_Operation.Job, Job_Operation.Work_Center, Job.Operation.Description
       Job_Operation.Sequence, Job_Operation.Status, Job_Operation.Last_Updated,  
       Job_Operation.Last_Updated_By
FROM ACTSQL.dbo.Job_Operation Job_Operation

输出应该看起来像这样。根据上述条件,我已经突出显示了我希望交付的单元格。

样本输出

任何帮助,将不胜感激。

标签: sql

解决方案


推荐阅读