sábado, 10 de diciembre de 2016

evaluar lista de valores con SQL en LibreOffice Base (XIII)

LibreOffice Base
Es el momento de tratar listas de valores en SQL desde nuestro LibreOffice Base.

Supongamos que somos propietarios de una clínica donde nuestros pacientes vienen con la esperanza de paliar sus dolencias, en primer lugar le vamos a recetar una dieta según su peso. Este es el típico caso donde podemos hacer uso de la instrucción  CASE de SQL.

La instrucción CASE evalúa los valores de un campo y dependiendo de este valor ejecuta una acción o asigna un valor.
 
Observe la siguiente instrucción:

SELECT "Nombre", "Apellidos", "Peso Kg", 
CASE WHEN "Peso Kg" <= 50 THEN 'dieta 1'
WHEN "Peso Kg" <= 60 THEN 'dieta 2'
WHEN "Peso Kg" <= 70 THEN 'dieta 3'
WHEN "Peso Kg" <= 80 THEN 'dieta 4'
WHEN "Peso Kg" <= 90 THEN 'dieta 5'
ELSE 'dieta 6'
END  AS "Tipo de dieta" FROM "Usuarios" 

Se trata de una instrucción SELECT básica, dentro de ella contiene algunos campos de la tabla y la instrucción CASE, la hemos extraído de esta para que la vea con mas detenimiento.

CASE WHEN "Peso Kg" <= 50 THEN 'dieta 1'
WHEN "Peso Kg" <= 60 THEN 'dieta 2'
WHEN "Peso Kg" <= 70 THEN 'dieta 3'
WHEN "Peso Kg" <= 80 THEN 'dieta 4'
WHEN "Peso Kg" <= 90 THEN 'dieta 5'
ELSE 'dieta 6'
END  AS  "Tipo de dieta"

Una vez leído un registro, ejecuta la instrucción CASE, dependiendo del valor que contiene el campo, en este caso "Peso Kg", mostrará un literal u otro. La cláusula ELSE se ejecutará en el caso que el valor no este contemplado dentro de alguna cláusula WHEN, cerraremos la instrucción CASE con una cláusula END.

Observe también la cláusula AS, seguida con un literal entre comillas. Esta cláusula se utiliza para definir un alias de un campo, de esta forma definiremos también el encabezado o título de la columna cuando se muestre el resultado.

Pongamos en práctica lo que hemos aprendido en LibreOffice Base, una vez abierta la base de datos donde va a trabajar, seleccione la sección de Consultas, haga clic en la opción Crear una consulta en modo SQL...

SQL y LibreOffice Base

Le mostrará el siguiente cuadro de diálogo, en este puede introducir la instrucción que acabamos de estudiar.

SQL y LibreOffice Base

Introduzca la instrucción SQL, observe que ha cambiado algunos colores de la misma, esto lo hace mas fácil de leer e identificar para el usuario, ya que destina un color para cada tipo de argumento de la instrucción en SQL.

SQL y LibreOffice Base

Haga clic en el botón Ejecutar consulta para que le muestre el resultado. En la siguiente imagen puede ver el resultado de incluir la cláusula AS en la instrucción CASE.

SQL y LibreOffice Base

Recuerde que los criterios que se definen en la cláusula WHEN depende de lo que deseemos realizar.



0 comentarios:

Publicar un comentario