< Anterior | Siguiente >

Especificación de las columnas de resultados

En este ejercicio, especificará las columnas que se muestran en el resultado de la consulta. Un empleado del videoclub necesita ver el nombre del cliente, el título de cada vídeo que el cliente ha alquilado y el día de la semana que debe devolver cada vídeo. Debe incluir dos de las columnas, añadir una expresión CASE para la tercera columna de resultados y, a continuación, asignar un alias a la expresión de columna CASE.

Selección de columnas para el conjunto de columnas de resultados

Añadirá las siguientes columnas al conjunto de columnas de resultados para el nombre de cliente y el título del vídeo:
  • La columna NAME en la tabla CUSTOMERS
  • La columna TITLE en la tabla VIDEOS

Para seleccionar columnas para el conjunto de columnas de resultados:

  1. En el panel Tablas, seleccione el recuadro de selección NAME en la tabla C (CUSTOMER).
  2. En la página Columnas del panel Diseño, efectúe una doble pulsación en la primera celda vacía en la columna Columna, pulse V.TITLE en la lista y, a continuación, pulse Intro. Las columnas se añaden al código fuente SQL en el panel Fuente SQL.

Adición de una expresión CASE al conjunto de columnas de resultados

La tercera columna del conjunto de columnas de resultados será el resultado de una expresión de columna. La base de datos del videoclub almacena la fecha en que se debe devolver el vídeo en formato DATE. El formato DATE debe convertirse en una serie de caracteres que contenga el nombre del día que se debe devolver el vídeo. Una función de base de datos obtendrá un entero a partir de la fecha correspondiente al día de la semana. Utilizará una expresión CASE para evaluar la función y convertir los enteros devueltos de la función en series de caracteres para cada día de la semana (por ejemplo, 1 se cambiará por "Sunday" en el resultado de la consulta).
Realizará las siguientes actividades para construir la expresión CASE:
  • Abra el asistente Constructor de expresiones.
  • Cree una expresión CASE de tipo simple.
  • Añada la función DAYOFWEEK para la evaluación en la expresión CASE. La función DAYOFWEEK permite obtener el día de la semana a partir de la columna DATE. Esta función devuelve un entero correspondiente al día de la semana.
  • Añada cláusulas WHEN para producir los resultados de la expresión CASE.

Para añadir una expresión CASE:

  1. En la página Columnas del panel Diseño, efectúe una doble pulsación en la tercera celda en la columna Columna (la primera celda vacía), pulse Construir expresión al final de la lista y, a continuación, pulse Intro. Se abrirá el asistente Constructor de expresiones.
  2. Cree una expresión CASE de tipo simple.
    1. En la página Tipos de expresión, pulse CASE - de búsqueda o simple y, a continuación, pulse Siguiente.
    2. En la página Opciones CASE, pulse Cláusula-WHEN-simple y, a continuación, pulse Siguiente.
  3. Añada la función DAYOFWEEK:
    1. En la página Expresión CASE simple, en la lista CASE, pulse Construir expresión de función. Se abrirá el asistente Constructor de expresiones de funciones.
    2. En la lista Seleccione una categoría de función, pulse Fecha y hora.
    3. En la lista Seleccione una función, pulse DAYOFWEEK.
    4. En la lista Seleccione una signatura de función, pulse DAYOFWEEK(DATE) --> INTEGER. La signatura de función muestra que la función requiere un argumento.
    5. En la columna Valor de la tabla de argumentos, efectúe una doble pulsación en la celda, pulse R.DATE en la lista y, a continuación, pulse Intro. La sintaxis de la expresión de función es DAYOFWEEK(DATE), tal como se muestra en la sección 5 de la imagen siguiente:

      Asistente Constructor de expresiones de funciones

      Observe que el calificador de tabla R de la columna DATE que ha seleccionado no aparece en este asistente. Aparecerá en la expresión cuando vuelva al Constructor de consultas SQL.
    6. Pulse Finalizar para volver a la construcción de la expresión CASE.
    7. En la lista CASE, seleccione DAYOFWEEK(DATE).
  4. Añada siete cláusulas WHEN a la expresión CASE (una por cada día de la semana) para convertir el entero devuelto de la función DAYOFWEEK en series de caracteres. En la tabla siguiente se muestra la serie de caracteres que se necesita para cada valor devuelto de la función DAYOFWEEK:
    Tabla 1. Valores de DAYOFWEEK y series de caracteres resultantes
    Valor de DAYOFWEEK Serie de caracteres resultantes
    1 'Sunday'
    2 'Monday'
    3 'Tuesday'
    4 'Wednesday'
    5 'Thursday'
    6 'Friday'
    7 'Saturday'
    1. En la tabla, efectúe una doble pulsación en la celda vacía en la columna Expresión a la derecha de WHEN y especifique el entero 1. Cuando especifica datos en esta y otras tablas asociadas con el Constructor de consultas SQL, para que la entrada se aplique, una vez especificado el valor en la celda, debe pulsar Intro o cambiar el foco a otra celda.
    2. Efectúe una doble pulsación en la celda vacía en la columna Expresión del resultado a la derecha de THEN y especifique la serie 'Sunday'.
    3. Para cada una de los seis días de la semana restantes, pulse Añadir cláusula WHEN y repita los pasos 4a y 4b, para que la tabla tenga un aspecto similar a la imagen siguiente:

      Tabla de cláusula WHEN completada

    4. Pulse Finalizar para cerrar el asistente Constructor de expresiones.
La expresión CASE completada aparece en la lista de expresiones de columna en la página Columnas del panel Diseño, y también aparece en la fuente de sentencias SQL.

Adición de un alias de columna

En la sentencia SQL customerRentals, añadirá un alias de columna para la expresión de columna CASE. Utilizará la página Columnas en el panel Diseño del Constructor de consultas SQL.

Para añadir un alias de columna:

  1. Pulse el separador Columnas en el panel Diseño.
  2. Pulse la celda en la columna Alias al lado de la expresión de columna CASE y, a continuación, especifique DUEDAY. En el panel Fuente SQL, el alias de columna AS DUEDAY se muestra después de la expresión CASE. Cuando se ejecuta la consulta, este alias aparece como título de la columna en la tabla de resultados.
La página Columnas será parecida a la siguiente imagen:

Panel Diseño - página Columnas completada

< Anterior | Siguiente >

Comentarios