< 上一课 | 下一课 >

指定结果列

在本练习中,您将指定要在查询结果中显示的列。一位商店员工需要查看客户姓名、该客户租借的每个视频的标题,以及每个视频在星期几到期。您将加入其中两列,为第三个结果列添加 CASE 表达式,然后为 CASE 列表达式分配别名。

为结果列集选择列

您将为客户姓名和视频标题向结果列集添加以下列:
  • CUSTOMERS 表中的 NAME 列
  • VIDEOS 表中的 TITLE 列

要为结果列集选择列:

  1. 在“表”窗格中,选择 C(CUSTOMER)表中的 NAME 复选框。
  2. 在“设计”窗格中的“列”页面上,双击列中的第一个空单元格,单击列表中的 V.TITLE,然后按 Enter 键。 这些列将添加到“SQL 源代码”窗格内的 SQL 源代码中。

向结果列集添加 CASE 表达式

查询结果集的第三列将充当列表达式的结果。视频商店数据库中以 DATE 格式存储了视频的到期日期。需将 DATE 格式转换为其中包含视频到期日期名称的字符串。数据库函数将从对应星期几的日期获取一个整数。您将使用 CASE 表达式对该函数求值,并将该函数返回的整数转换为代表每周各天的字符串(例如,1 将在查询结果中更改为“星期天”)。
您将执行以下活动来构建 CASE 表达式:
  • 打开“表达式构建器”向导。
  • 创建简单类型的 CASE 表达式。
  • 添加 DAYOFWEEK 函数以供 CASE 表达式求值。DAYOFWEEK 函数使您可以从 DATE 列获取星期几。此函数返回一个与星期几对应的整数。
  • 添加 WHEN 子句,以便为 CASE 表达式生成结果。

要添加 CASE 表达式:

  1. 在“设计”窗格中的“列”页面上,双击列中的第三个单元格(即第一个空单元格),单击列表结尾部分的构建表达式,然后按 Enter 键。 “表达式构建器”向导会打开。
  2. 创建简单类型的 CASE 表达式。
    1. 在“表达式类型”页面中,单击 CASE - 搜索或简单,然后单击下一步
    2. 在“CASE 选项”页面中,单击 Simple-WHEN-Clause,然后单击下一步
  3. 要添加 DAYOFWEEK 函数:
    1. 在“简单 CASE 表达式”页面中的 CASE 列表内,单击构建函数表达式 “函数表达式构建器”向导会打开。
    2. 选择函数类别列表中,单击日期和时间
    3. 选择函数列表中,单击 DAYOFWEEK
    4. 选择函数特征符列表中,单击 DAYOFWEEK(DATE) --> INTEGER 函数特征符显示该函数需要一个参数。
    5. 在参数表的列中,双击单元格,单击列表中的 R.DATE,然后按 Enter 键。 该函数表达式的语法为 DAYOFWEEK(DATE),如下图部分 5 中所示:

      “函数表达式构建器”向导

      请注意,您为 DATE 列选择的 R 表限定符不会在此向导中显示。您返回 SQL 查询构建器时,将在表达式中显示该限定符。
    6. 单击完成返回构造 CASE 表达式。
    7. CASE 列表中,选择 DAYOFWEEK(DATE)
  4. 向 CASE 表达式添加 7 个 WHEN 子句(一周中每天添加一个),以便将 DAYOFWEEK 函数返回的整数转换为字符串。 下表显示 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. 为一周其余六天每天单击添加 WHEN 子句,然后重复步骤 4a 和 4b,以便您的表外观类似下面显示的图像:

      已完成的 WHEN 子句表

    4. 单击完成关闭“表达式构建器”向导。
已完成的 CASE 表达式将在“设计”窗格内“列”页面中的列表达式列表中显示,还将在 SQL 语句源代码中显示。

添加列别名

您将在 customerRentals SQL 语句中为 CASE 列表达式添加一个列别名。您将使用 SQL 查询构建器的“设计”窗格中的“列”页面。

要添加列别名:

  1. 单击“设计”窗格中的选项卡。
  2. 单击 CASE 列表达式旁边别名列中的单元格,然后输入 DUEDAY 在“SQL 源代码”窗格中,列别名 AS DUEDAY 在 CASE 表达式之后显示。运行查询时,此别名在结果表中显示为列的标题。
“列”页面现在外观如下图所示:

“设计”窗格 - 已完成的“列”页面

< 上一课 | 下一课 >

反馈