Đây là một bảng mẫu:
name | cat
----------
hugo | sal
bob | mgr
mike | dev
jeff | mgr
john | dev
Cả hai name
và cat
là Varchar.
cat
phản ánh một danh mục cho những tên này, nhưng tôi muốn gán mức độ ưu tiên cho chúng, theo sau là một truy vấn để liệt kê tất cả, được sắp xếp theo thứ tự ưu tiên này.
Những cách có thể? Tôi có thể giải nén cat
vào một bảng thứ hai, xây dựng một chìa khóa, vv ngoại Nhưng với ứng dụng của tôi rất đơn giản và cấu trúc có thể là không thể thay đổi: Những khả năng làm tôi phải liệt kê các mgr
tên đầu tiên, tiếp theo là dev
tên, tiếp theo là sal
tên ?
case
biểu thức (vì cái này được gọi) là hợp lệ ở bất cứ nơi nào một cột có thể được chỉ định; và b) biểu thức có thể được đơn giản hóa một chút thànhcase `cat` when 'mgr' then 1 when 'dev' then 2 else 3 end