< 前へ | 次へ >

結果列の指定

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

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

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

結果列セットのための列を選択するには、次のようにします。

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

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

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

CASE 式を追加するには、次のようにします。

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

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

      DATE 列について選択した R テーブル限定子は、このウィザードでは表示されないことに注意してください。 それは、SQL 照会ビルダーに戻った時点で式の中に表示されます。
    6. 「完了」をクリックして、CASE 式の作成に戻ります。
    7. CASE リストで、DAYOFWEEK(DATE) を選択します。
  4. DAYOFWEEK 関数から戻された整数を文字ストリングに変換するため、CASE 式に 7 つの WHEN 文節 (曜日ごとに 1 つ) を追加します。 次の表に、DAYOFWEEK 関数から戻される各値に必要な文字ストリングを示しています。
    表 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 節の追加」をクリックして、ステップ 4a と 4b を繰り返します。

      完了した WHEN 文節テーブル

    4. 「完了」をクリックして「式ビルダー」ウィザードを閉じます。
完了した CASE 式が「設計」ペインの「列」ページ上の列式のリストに表示されます。 またこの式は SQL ステートメント・ソースにも表示されます。

列別名の追加

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

列別名を追加するには、次のようにします。

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

「設計」ペイン - 完了した「列」ページ

< 前へ | 次へ >

フィードバック