12月16日(金)3、4コマ目
今日、やったこと
ODP.NET 練習1~5解説
今日のホワイトボード
ODP.NET練習問題1 練習1~5解説
練習1
CS_売上データ、CS_商品マスタ、CS_グループマスタを結合して、全件検索した結果を表示。
練習2
CS_売上データ、CS_商品マスタを結合し、商品名でグループ化。各グループで数量列の総和を計算。
練習3
CS_売上データ、CS_商品マスタ、CS_グループマスタを結合し、グループ名でグループ化。各グループで数量列の総和を計算。ただし、表示するのは売上総額がコマンドライン引数指定値以上のグループのみ。
練習4
CS_売上データ、CS_商品マスタを結合し、売上IDでグループ化。各グループで数量×価格を計算し、その総和を売上総額として表示。
練習5
CS_売上データ、CS_商品マスタ、CS_グループマスタを結合し、各グループで数量列の総和、数量×価格の総和を計算。
ODP.NET練習問題2 練習1~4解説
練習1
まず、CS_売上データ、CS_商品マスタ、CS_グループマスタを結合し、グループ名が指定値の行を検索。
商品別売上総数なので、商品(商品ID、商品名、CS_商品マスタのID)でグループ化。商品名を出力したいので商品名でグループ化。
各グループの数量列の総和が売上総数。
練習2
商品別売上金額なので、商品名でグループ化(商品名を出力したいため商品名でグループ化)。
各グループで数量×価格の総和を計算した結果が売上金額。
最後に、売上金額が指定値の範囲にあるグループを検索する。グループに対する条件なので、HAVINGを使う。
練習3
服問い合わせを使う必要あり。
服問い合わせで指定グループのなかの商品の最高値を取得。
同じグループの商品で取得した最高値と価格が等しい商品が求めたい商品。
練習4
副問い合わせを2重で使う。
まず、指定グループの商品ごとの売上総数を求める。(副問い合わせ1)
次に副問い合わせ1の結果から、売上総数の最大値を取得。(副問い合わせ2)
指定グループの商品ごとの売上総数が副問い合わせ2の結果と等しい商品を検査。
この商品が求めたい商品。
[確認テスト]クラスの確認テスト3
問1
Itemクラスの引数ありコンストラクタを使ってインスタンス生成時に各プロパティの値も初期化しています。
引数groupにはGroupクラスのインスタンス(への参照情報)を代入します。
|
| 図 クラスの確認テスト3 問1 |
問2
問1と同じです。
|
| 図 クラスの確認テスト3 問2 |
問3
変数item1が参照するItemクラスのインスタンスが持つShow()メソッド呼び出しです。
|
| 図 クラスの確認テスト3 問3 |
※厳密に言えばItemクラスのインスタンスのエリア内にShow()メソッドがあるわけではないのでご注意を。
問4
問3のShow()メソッド呼び出し時の戻り値です。
item1.Show()で、item1が参照するItemクラスのインスタンスの情報を返します。
|
| 図 クラスの確認テスト3 問4 |
問5
Itemクラスのプロパティの値の変更です。
|
| 図 クラスの確認テスト3 問5 |
問6
問5でPriceプロパティの値を変更した後、item2のShow()メソッド呼び出し時の戻り値です。
item2.Show()は、item2が参照するItemクラスのインスタンスの情報を返します。
|
| 図 クラスの確認テスト3 問6 |
次回は
ODP.NETのテストをします。





