2020-02-27

La expresión SQL CASE usando una tabla intermedia en Ms Access

Problema

Queremos replicar la expresión SQL CASE, actualmente no disponible, en Ms Access. En esta ocasión usaremos una tabla intermadia para crear los invervalos.

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    WHEN conditionN THEN resultN
    ELSE result
END;
En nuestro ejemplo para la columna Num queremos crear intervalos de 0 a >1000 con incrementos de 100. Usamos paréntesis y corchetes para denotar los intervalos semi-abiertos y semi-cerrados.

Solución

  1. Creamos una tabla intermedia con los intervalos
  2. Unimos ambas tablas basándonos en los límites inferior y superior de los intervalos
  3. SELECT Tabla.Num, intervalos.Intervalos
    FROM Tabla INNER JOIN intervalos ON (Tabla.Num > intervalos.inferior) AND (Tabla.Num <= intervalos.superior);
    

Entradas relacionadas

No hay comentarios:

Publicar un comentario

Nube de datos