Оператор case, добавляющий значения столбца

Мне нужно написать оператор case, который вернет

“1 of 3” if someone voted in one of three elections, 
“2 of 3” if someone voted in two of three elections, 
“3 of 3” if someone voted in three of three elections, 

Проблема в том, что некоторые значения являются varchar, а некоторые из них нулевые, и я не могу сложить их вместе. Это моя идея, но я не могу заставить ее работать.

select 
id,
CASE 
     WHEN race1 + race2 + race3 = 0 then '0-3'
     WHEN race1 + race2 + race3 = 1 then '1-3'
     WHEN race1 + race2 + race3 = 2 then '2-3'
     WHEN race1 + race2 + race3 = 3 then '3-3'
     WHEN race1 + race2 + race3 is null then 'Unknown'
 END AS General_Turnout
from test4

http://sqlfiddle.com/#!3/cac66/3

5
задан Michael Berkowski 11 April 2012 в 02:42
поделиться