テーブルを見てください (例: TRClient)
| | ID | クライアント ID | sID | 開始日 | 終了日 | |----|----------|-----|--------------|------------ --| | | 1 | 10 | 1 | '2011-06-01' | '2012-05-31' | | | 2 | 25 | 3 | '2011-06-01' | '2012-05-31' | | | 3 | 10 | 1 | '2012-06-01' | '2013-05-31' |
前のレコードよりも大きくないものが必要ですclientid
(
2 つのレコード間の関係は によって決定できます)。enddate
enddate
sId
次のクエリを作成しました:
(ここでは、TRClient の各クライアント ID に対してループを使用しています)
Select clientid from TRClient where clientId = 10 and sId = 1 and not (endDate >= '2012-05-31')
各クライアントの最大 ID のレコードをチェックしたい (clientid と sId が同じ場合は、ID がより大きい 1 つのレコードのみをチェックする必要があります。たとえば、指定されたテーブルで話している場合、clientid = 10
2sid = 1
つの行が取得されます(id = 1 and id = 3)
。ここで私はチェックしたいenddate >= '2012-05-31' for id = 3)