Esta es una tabla de muestra:
name | cat
----------
hugo | sal
bob | mgr
mike | dev
jeff | mgr
john | dev
Ambos name
y cat
siendo Varchar.
cat
refleja una categoría para estos nombres, pero me gusta asignarles una prioridad, seguida de una consulta para enumerarlos a todos, ordenados por esta prioridad.
¿Qué formas son posibles? Podría extraer cat
en una segunda tabla, construir una clave foránea, etc. Pero dado que mi aplicación es muy simple y la estructura podría no modificarse: ¿Qué posibilidades tengo de enumerar mgr
primero los nombres, seguidos de los dev
nombres, seguidos de los sal
nombres? ?
case
expresión (como se llama) es válida en cualquier lugar donde se pueda especificar una columna; y b) la expresión se puede simplificar ligeramente acase `cat` when 'mgr' then 1 when 'dev' then 2 else 3 end