[英]SQL - Comparing against multiple values in the same column?
好的,所以我正在嘗試編寫一些 SQL,但我不確定如何解決這種情況。 我有一張類似於下面的表格。 基本思想是我需要獲取處於“H”狀態的記錄(足夠簡單),但我需要排除處於“H”狀態並稍后轉移到“A”狀態的記錄日期。
所以理想情況下,結果應該只返回最后兩個記錄,ID 03 和 04。你們會怎么做?
ID STATUS STAT_DATE
01 A 05/01/2013
01 H 05/01/2012
02 A 12/01/2013
02 H 12/01/2012
03 H 03/01/2009
04 H 02/01/2008
你可以這樣做:
select *
from t t1
where status='H' and not exists(
select *
from t t2
where t1.id=t2.id and t2.status='A' and t2.stat_date > t1.stat_date)
這將為您提供表 t 中 status='H' 的所有條目,其中 t 中沒有具有相同 ID、較晚日期和 status='A' 的條目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.