公式アカウントからの投稿が始まります

バージョンは10gです

急にシステム管理者が退職し、担当になってしまい困っています。
超初心者なので皆様よろしくお願い致します。

表に売上明細があり下記のように西暦で数値型としてあるのですが
これを”月”でgroup化したいのです。
ただし売上明細表には列の追加はできません
(別システムからのインポートデータの為)

  date SH_CD SURYO
  20151120   111 15000
20151121 222 10000

色々調べた中でsubstrで月の部分を抽出できたのですが。。。

   CREATE OR REPLACE VIEW V_TEST1
   SELECT
substr(DATE,5,2) AS MOUTH,SH_CD,SUM(SURYO)
FROM MEISAI
GROUP BY(substr(DATE,5,2),DATE,SH_CD

と作ってみたのですが、”日”の部分でしか集計されません
元の表を変更せずビューで”月”の集計を取る方法はありませんでしょうか?

よろしくお願い致します。

A 回答 (2件)

DATE でグループ化すれば、DATEで集計されます。


GROUP BY の中にDATEが不要なのでは?
GROUP BY substr(DATE,5,2),SH_CD

あるいは、MONTH,SH_CD,SURYO でサブクエリを作って、それに対して、 MOUTH,SH_CDでグループ化するとか。
    • good
    • 0

dateのデータ型がわからんのですが↓でもダメですか?



substr(DATE,5,2) AS MOUTH
→substr(TO_CHAR(DATE),5,2) AS MOUTH

dateが数値型ということなので、TO_CHARで文字型に変換してみたんですが。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!