12月24日(金)1、2コマ目
今日は進捗調整のため、C#はまったくやらずにデータベースをやりました。 データベース「ビュー作成おさらい演習2」の解説 ビュー名:ジャンル別売上金額 これはとくになんてことはないかと。 [正解例] create or replace view ジャンル別売上金額(ジャンル名, 売上金額) as select ジャンル名, sum(定価*数量) from ジャンルマスタ, 商品マスタ, 売上詳細データ where ジャンルマスタ.ID=商品マスタ.ジャンルID AND 商品マスタ.ID=売上詳細データ.商品ID group by ジャンル名; ビュー名:売上一覧 売上毎なので、売上IDでグループ化すればOKですが、氏名、売上日も出力する必要があります。 そのため、group by句に売上IDに氏名、売上日も追加する必要があります。 1件の売上で顧客、売上日が複数になることはないため、group by 売上ID, 氏名, 売上日でも問題はありません。 [正解例] create or replace view 売上一覧(顧客名, 売上日, 売上金額, 商品数) as select 氏名, 売上日, sum(定価*数量), sum(数量) from 商品マスタ, 顧客マスタ, 売上データ, 売上詳細データ where 商品マスタ.ID=売上詳細データ.商品ID and 顧客マスタ.ID=売上データ.顧客ID and 売上データ.id=売上詳細データ.売上id group by 売上データ.ID, 氏名, 売上日 order by 売上日, sum(定価*数量); ビュー名:最高売上数商品データ 副問い合わせの副問い合わせになります。 まず、商品ごとの売上数を求めます。 select sum(数量) AS 売上数量 from 売上詳細データ group by 商品ID つぎに、この結果から売上数量列の最大値を取得します。 select max(売上数量) from ( select sum(数量) AS 売上数量 from 売上詳細データ group by 商品ID ) 図 商品ごとの売上数量から最大値を取得 最後に、商品ごとの売上数量...