回答受付が終了しました

前提・実現したいこと データの年月が存在しないときの判定としないときに過去のデータを取ってくること はじめまして。 初心者です、 よろしくお願い申し上げます。 SQLで売り上げ

前提・実現したいこと データの年月が存在しないときの判定としないときに過去のデータを取ってくること はじめまして。 初心者です、 よろしくお願い申し上げます。 SQLで売り上げ 処理システムを作成しております。 一時売上から月毎に数量、金額をまとめておりそこから、別テーブルで 平均単価を出そうとしております。 そこまではある程度できているのですが 絞り込む条件で、 月毎にの平均単価を作成する際に 年月が存在しない場合 過去のデータの最近をとってくる(遡る期間は最高でも2年前まで) というところが分からず困っております。 よろしくお願い申し上げます。

補足

回答いただきまして まことにありがとうございます。 大変助かります。 過去にデータが存在する場合は MAX()として年月をとってきてしまうと処理としては困ってしまいます。 過去にデータがない場合は この処理でいいと思うのですが ある場合はどうすればいいのでしょうか、あとはその分岐が分からず困っております。 Where not exists など使うのかなとは思うのですが、、、

SQL Server | データベース29閲覧xmlns="http://www.w3.org/2000/svg">500

回答(1件)

0

商品コードの最終月の月別平均の求め方(商品コード、年月、数量、金額が有る物とします。 select 商品コード,年月,SUM(金額)/SUM(数量) from tbl t1 where 年月= (select max(年月) from tbl t2 where t2.商品コード=t1.商品コード) group by 商品コード,年月 order by 商品コード,年月 です。

素早い回答ありがとうございます。 最終月の月別平均の求め方は理解できましたが, データの有無によって処理が変わると思っています。 データがない場合MAX(年月)で 最新がとってこれるのは処理として正しいと思いますが、 常にMAX(年月)だと処理として正しくない場面があると思います。 データがAテーブルにない場合は上記の処理と ある場合はその月のものをとってくる分岐をさせたいと考えています。 どのようにすればよろしいでしょうか。 質問ばかりで申し訳ございません。 以上、よろしくお願いいたします。