• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL抽出の書き方について(一部行の削除))

SQL抽出の書き方について(一部行の削除)

このQ&Aのポイント
  • SQLの書き方について質問です。VIEW(SQL)を作成した時に結果が特定の条件を満たさない行を削除したいです。
  • 本来なら特定の条件を満たさない行を削除したいです。具体的にはSEIHIN_CD,KOJO_CD,CAL_DATEの3つを主キーとして、重複キーの一番上の行のみ残すようにしたいです。
  • SQL(PL/SQL?)の書き方がわからないので、どなたか教えていただけますと助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • trictrac
  • ベストアンサー率38% (10/26)
回答No.1

3つのキーで集約したら良いのでは内のでしょうか。 select A.SEIHIN_CD, A.KOJO_CD, A.CAL_DATE, A.KEIKAKU , B.CAL_WEEK, B.CAL_KBN from ( selet SEIHIN_CD , KOJO_CD , CAL_DATE , sum( decode( A.YMD, B.CAL_DATE, A.KEIKAKU,0 ) ) as KEIKAKU from T_SEISAN_KEIKAKU A group by SEIHIN_CD , KOJO_CD , CAL_DATE ) , M_00_CALENDER B

hiyokohiyo
質問者

お礼

ご回答ありがとうございます。SUMとGROUPを使うのですね。 早速やってみました。 ちょっと上手くいかないところがあったのでこちらで修正させてもらったところ無事になりました。大変助かりましたありがとうございました! 一応その部分のSQLソースを貼っておきます。 select SEIHIN_CD,KOJO_CD,CAL_DATE, sum( decode(A.YMD,B.CAL_DATE,A.KEIKAKU,0 )) as KEIKAKU from T_SEISAN_KEIKAKU A,M_00_CALENDER B group by SEIHIN_CD,KOJO_CD,CAL_DATE order by seihin_cd,kojo_cd,cal_date

関連するQ&A