如何行之间的值进行比较的访问查询 [英] How to Compare values between rows in access query

查看:141
本文介绍了如何行之间的值进行比较的访问查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个表表1 如下图所示。我想找到的所有 ^ h 状态字段是在两个。对于以上的标准输出应该是 15年4月1日 15年5月1日 15年7月1日。我该如何解决这个问题?

 日期状态
15年1月1日一
15年2月1日ħ
15年3月1日大号
15年4月1日ħ
15年5月1日ħ
15年6月1日大号
15年7月1日ħ
15年8月1日大号
 

解决方案

我想你可以使用这样的查询:

  SELECT
    t.Date,t.Status
从
    yourTable为T
加入 (
    SELECT MIN(日期)AS为MinDate,马克斯(日期)AS的maxDate
    从yourTable
    WHERE状态='L')为L
ON t.Date> = l.minDate
    与t.Date< = l.maxDate
    与t.Status<> L;
 

I have a table table1 like below. I want to find all H in Status field that is in between two L. The output for mentioned criteria should be 04/01/15, 05/01/15 and 07/01/15. How can I solve this?

Date          Status
01/01/15        A
02/01/15        H
03/01/15        L
04/01/15        H
05/01/15        H
06/01/15        L
07/01/15        H
08/01/15        L

解决方案

I think you can use a query like this:

SELECT 
    t.Date, t.Status
FROM 
    yourTable AS t
JOIN (
    SELECT MIN(Date) AS minDate, Max(Date) AS maxDate
    FROM yourTable
    WHERE Status = 'L') AS l
ON t.Date >= l.minDate
    AND t.Date <= l.maxDate
    AND t.Status <> 'L';

这篇关于如何行之间的值进行比较的访问查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆