如何行之间的值进行比较的访问查询 [英] How to Compare values between rows in access query
本文介绍了如何行之间的值进行比较的访问查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个表表1
如下图所示。我想找到的所有 ^ h
在状态
字段是在两个→$之间C $ C>。对于以上的标准输出应该是
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屋!
查看全文