2016-03-12 2 views
1

Мне нужно создать таблицу с идентификатором пользователя и назначенным значением. У меня есть эти три операторов выбора:Операторы case с псевдонимом

select sales_person_id from promotions where 
sales > 30000 and city = ‘Georgia’ 

select sales_person_id from promotions 
where sales > 50000 and city = ‘Atlanta’ 

select sales_person_id from promotions 
where sales > 25000 and city = ‘Tampa’ 

В принципе мне нужно это, чтобы показать, если оператор выбора один, таблица будет содержать user_id и значение = 10 , если оператор выбора два user_id и значение = 5 если оператор выбора три user_id и value = 7

Я попытался использовать операторы case с псевдонимом, чтобы получить столбец с именем value без везения. Любая помощь будет принята с благодарностью.

ответ

1

Просто преобразовать условия в where пунктах для when условий в выражении case:

SELECT sales_person_id, 
     CASE WHEN sales > 30000 AND city = 'Georgia' THEN 10 
      WHEN sales > 50000 and city = 'Atlanta' THEN 7 
      WHEN sales > 25000 and city = 'Tampa' THEN 5 
     END AS value 
FROM promotions 
Смежные вопросы