エクササイズ 1.3: 結果列の指定

このエクササイズを始める前に、エクササイズ 1.2: テーブルを使った SELECT ステートメントの作成を完了しておく必要があります。

このエクササイズでは、照会結果にどの列を表示するかを指定します。店の従業員は、顧客の名前、 顧客が借りた各ビデオのタイトル、各ビデオの返却予定の曜日を参照する必要があります。 2 つの列を含み、3 つ目の結果列として CASE 式を追加してから、別名を CASE 列式に割り当てることにしましょう。

結果列セットのための列の選択

顧客名およびビデオ・タイトルに関する結果列セットに、次の列を追加します。

  1. 「テーブル」ペインで、C (CUSTOMER) テーブルの「NAME」チェック・ボックスを選択します。
  2. 「デザイン」ペインの「列」ページで、「」列の先頭の空きセルをダブルクリックして、 リストの「V.TITLE」をクリックしてから、Enter を押します。
    「SQL ソース」ペインの SQL ソース・コードにそれらの列が追加されます。

結果列セットへの CASE 式の追加

照会結果セットの 3 列目は、列式の結果になります。ビデオ店のデータベースでは、DATE 形式でビデオの返却予定日のデータを格納しています。DATE 形式は、ビデオの返却予定日の名前を含む文字ストリングへ変換する必要があります。 データベース関数は、日付から、曜日に対応した整数を取得します。CASE 式を使って、関数を評価し、関数から戻された整数をそれぞれの曜日の文字ストリングに変換します (例えば、1 は、照会結果では「Sunday」に変換されます)。CASE 式をビルドする場合は、 次の手順に従ってください。


  1. 「デザイン」ペインの「列」ページで、「」列の 3 つ目のセル (最初の空のセル) をダブルクリックし、リストの最後にある「式のビルド」をクリックして、Enter を押します。
    「式ビルダー」ウィザードが開きます。
  2. 単純型 CASE 式を作成します。
    1. 「式ビルダー」ページで、「CASE - 検索または単純型」をクリックし、 「次へ」をクリックします。
    2. 「CASE オプション」ページで、「単純 When 節」をクリックし、「次へ」をクリックします。
  3. 以下のように DAYOFWEEK 関数を追加します。
    1. 「単純型 CASE (Simple Type Case)」ページの「CASE」リストで、「関数式のビルド」をクリックします。 「関数式ビルダー」ウィザードが開きます。
    2. 関数カテゴリーを選択」リストで、「日付と時刻」をクリックします。
    3. 関数を選択」リストで、「DAYOFWEEK」をクリックします。
    4. 関数シグニチャーを選択」リストで、 「DAYOFWEEK(DATE)」-->「INTEGER」の順にクリックします。
      関数シグニチャーに、1 つの引数が関数に必要であることが示されます。
    5. 引数テーブルの「」列で、セルをクリックし、 リストの「R.DATE」をクリックして Enter を押します。
      関数式の構文は、次の画面のセクション 5 に示されるように DAYOFWEEK(R.DATE) です。

      「関数式ビルダー」ウィザード

    6. 終了」をクリックして、CASE 式の作成に戻ります。
      「単純型 CASE (Simple Type Case)」の上部の「CASE」リストに新規関数が表示されます。
  4. DAYOFWEEK 関数から戻された整数を文字ストリングに変換するため、CASE 式に 7 つの WHEN 文節 (曜日ごとに 1 つ) を追加します。 次の表に、DAYOFWEEK 関数から戻される各値に必要な文字ストリングを示しています。
    DAYOFWEEK 値 変換後の文字ストリング
    1 'Sunday'
    2 'Monday'
    3 'Tuesday'
    4 'Wednesday'
    5 'Thursday'
    6 'Friday'
    7 'Saturday'
    1. テーブルで、「WHEN」の右側の「」列の空のセルをダブルクリックし、 整数 1 を入力します。
      このテーブル、および SQL ビルダーに関連付けられているその他のテーブルにデータを入力した場合は、 その入力を有効にするために、セルに値を入力した後で Enter を押すか、別のセルにフォーカスを移動する必要があります。
    2. THEN」の右側の「結果式」列の空のセルをダブルクリックし、ストリング 'Sunday' を入力します。
    3. 表が次の画面と同じになるように、残りの 6 つの各曜日ごとに「WHEN 文節を追加 (Add WHEN Clause)」をクリックして、ステップ 4a と 4b を繰り返します。

      完了した WHEN 文節テーブル

    4. 終了」をクリックして「式ビルダー」ウィザードを閉じます。

完了した CASE 式が「デザイン」ペインの「列」ページ上の列式のリストに表示されます。 またこの式は SQL ステートメント・ソースにも表示されます。

列別名の追加

customerRentals SQL ステートメントに、CASE 列式用の列別名を追加します。 SQL ビルダーの「デザイン」ペインの「列」ページを使用します。

  1. 「デザイン」ペインで「」タブをクリックします。
  2. CASE 列式の横の「別名」列でセルをクリックし、DUEDAY と入力します。
    「SQL ソース」ペインで、列別名 AS DUEDAY が CASE 式の後ろに表示されます。 照会を実行すると、結果テーブルの列のタイトルとしてこの別名が表示されます。

「列」ページは次のようになります。

「デザイン」ペイン - 完了した「列」ページ

これで、エクササイズ 1.4: 結合、照会条件、および GROUP BY 文節の追加を始める準備完了です。

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.