SQLの事でお聞きしたいのですが。。。
お客様DBをお客様コードで参照しにいきます。
以下のレコードが索引されました。
コード 枝番 取引数
AA 1 1,000
AA 2 800
AA 3 1,800
その中で2件ずつ取引数を比較し、差が500以上の場合レコード出力を行う。
例)枝番 1-2 1,000 − 800 = 200 … 出力しない
枝番 2-3 800 − 1,800 = 1,000 … 枝番 2,3のレコードは出力する。
どのように実現させたら宜しいですか??
答え:
枝番が連続している前提ですが
select A.* from TBL A, TBL B
where A.コード = B.コード
and A.枝番 = B.枝番 -1
and (A.取引数 - B.取引数) >= 500
union
select B.* from TBL A, TBL B
where A.コード = B.コード
and A.枝番 = B.枝番 -1
and (A.取引数 - B.取引数) >= 500
試していないので間違っているかもしれませんが参考までに^^;
他は答える:
この質問・回答は役に立ちましたか?
答え:
telmessaniさんの
SQL分の差分を計算したものを絶対値に変換してあげれば良いと思います。
あと重複するレコードが嫌なら上記SQLをサブクエリにしてdistinctやGroupByなどを使えばすっきりしそうです。
ウェブサイトのユーザーによる情報ポスト、JPQA.comのない保証の正しさ.