Как я читаю, нужно использовать UNION:
SELECT a.val0
FROM TABLE a
WHERE a.type = 0
UNION ALL
SELECT a.val1
FROM TABLE a
WHERE a.type = 1
UNION ALL ...
UNION ALL не удаляет дубликаты и работает быстрее, чем UNION (потому что он удаляет дубликаты).
Это можно сделать динамически.