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
- Creamos una tabla intermedia con los intervalos
- Unimos ambas tablas basándonos en los límites inferior y superior de los intervalos
SELECT Tabla.Num, intervalos.Intervalos
FROM Tabla INNER JOIN intervalos ON (Tabla.Num > intervalos.inferior) AND (Tabla.Num <= intervalos.superior);
Entradas relacionadas