- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データの比較)
データの比較方法と条件について
このQ&Aのポイント
- SQLserver2005を使用している場合、データの比較方法と条件を確認したいです。
- 特定のデータの中から一つ前のデータと比較し、値が100以上変化しているデータを抽出する条件を作りたいです。
- 日付も考慮しながらデータの比較を行い、条件に一致するデータを抽出する方法がわかりません。ご教示いただけると幸いです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
本件は日付+時刻でユニークでないと話が成り立たないので、以下のようなテーブルを仮定します。 CREATE TABLE TBL1 ([TXNDATE][datetime] PRIMARY KEY,[VAL][int]) 以下の通りです(全角スペースでネストさせてます) SELECT t1.TXNDATE, t1.VAL FROM (SELECT t.TXNDATE,t.VAL, (SELECT MAX(TXNDATE) FROM TBL1 WHERE TXNDATE<t.TXNDATE AND TXNDATE>=CONVERT(datetime,CONVERT(varchar,t.TXNDATE,111))) PREVDATE FROM TBL1 t) t1 INNER JOIN TBL1 t2 ON t2.TXNDATE=t1.PREVDATE WHERE (t1.VAL-t2.VAL)<=-100 1) まず自分の1つ前のレコードの日付&時刻を検索する(自分の日付の0時以降で、自分の日付&時刻より前) 2) その上でそのレコードとJOINして比較する
お礼
お礼遅れまして申し訳ございません. 無事にできることができました. ありがとうございます.