###前提・実現したいこと
オラクル11gを使用しているが、
売上テーブルで、昨日の売上と、そこから-364日前の売上とを同時に表示したい。
###発生している問題・エラーメッセージ
この場合、同テーブルのJOINになると思うのですが、
効率のよいSQLクエリがわかりません。。
とりあえず、以下のようにONをずらすような記載をしてみてたのですが、可視性が高いようにはみえません・・
恐れ入りますが、効率のよい方法や、可視性が高いクエリ案がありましたらご教示いただけますか?
また、Ditinctしないと重複するのですが、なぜ重複するのかが今いちイメージがわきません。
御手数ですが、ご教示いただけますか?
###該当のソースコード
select distinct uri.id, --ショップ番号 uri.businessdate, --日付 preuri.businessdate as predate, --比較日付 uri.amount, --税抜売上 preuri.amount as presales --比較売上 from tableA uri --前比を出すためにもっかいJOIN left join tableA preuri on ( to_date(preuri.businessdate +364) = uri.businessdate and preuri.id = uri.id ) where uri.businessdate >= to_date(sysdate-1) order by uri.businessdate desc ,id asc 以下追加しました。 ■項目情報 "ID" VARCHAR2(10 BYTE) NOT NULL ENABLE, "BUSINESSDATE" TIMESTAMP (6) NOT NULL ENABLE, "AMOUNT" NUMBER(10,0)
回答2件
あなたの回答
tips
プレビュー