Корректный Select

Программисты, подскажите, как правильно составить select для задачи

Вывести в отдельный столбец поле offer_name по каждому клиенту из таблицы customer_hist и заполнить его для клиентов со средними начислениями за первый квартал более 150 и общей суммой налогов за второй квартал больше 100 по следующему правилу:

  • с продуктом 34 и service_type 1 - подключи опцию Bonus - с продуктом 76 и service_type 2 - подключи опцию Travel - с продуктом 23 и service_type 2 - подключи опцию Cashback - остальным - подключи опцию Cars.

введите сюда описание изображения


Ответы (1 шт):

Автор решения: dzhukov

Попробуйте так, может чуть докрутить придется. Без данных сложно проверить

select 
case 
    when Product=34 and service_type=1 then 'Bonus'
    when Product=76 and service_type=2 then 'Travel'
    when Product=23 and service_type=2 then 'Cashback'
    else 'Cars'
end offer_name
,* 
from Customer_hist ch
where ch.Customer in (
    select ct.Customer from Customer_taxes ct
    group by Customer, datepart (qq, Table_month) 
    having avg(Taxes) >case datepart (qq, Table_month) when 1 then 150 when 2 then 100 end 
    )
→ Ссылка