- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL抽出の書き方について(一部行の削除))
SQL抽出の書き方について(一部行の削除)
このQ&Aのポイント
- SQLの書き方について質問です。VIEW(SQL)を作成した時に結果が特定の条件を満たさない行を削除したいです。
- 本来なら特定の条件を満たさない行を削除したいです。具体的にはSEIHIN_CD,KOJO_CD,CAL_DATEの3つを主キーとして、重複キーの一番上の行のみ残すようにしたいです。
- SQL(PL/SQL?)の書き方がわからないので、どなたか教えていただけますと助かります。
- みんなの回答 (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
お礼
ご回答ありがとうございます。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