как создать / добавить столбец в SQL select query на основе значений другого столбца
Я хочу динамически добавить еще один столбец "hook_name" через запрос select SQL, основанный на условии,
Например, если hook_type
=0, таблица hook_name
должно иметь значение "предложение", аналогично для hook_type
=1, hook_name
должен показывать "ACCEPT".
Ниже приведен скриншот результата.
запрос select таков.
select hook_type, 'hook name' as hook_name,
count(*) as number_of_exchange_activities
from `exchange`
group by hook_type # hook_type 0 for OFFER, 1 for ACCEPT and 2 for offer EXPIRED;
спасибо заранее.
2 ответов
используйте стандартный случай SQL:
SELECT hook_type,
CASE hook_type
WHEN 0 THEN 'OFFER'
WHEN 1 THEN 'ACCEPT'
WHEN 2 THEN 'EXPIRED'
END AS hook_name,
COUNT(*) AS number_of_exchange_activities
FROM `exchange`
GROUP BY hook_type
select case when hook_type = 0 then 'offer'
when hook_type = 1 then 'accept'
else 'expired'
end as hook_t,
`hook name` as hook_name,
count(*) as number_of_exchange_activities
from `exchange`
group by hook_t
кстати, я думаю, вы хотите избежать имени столбца hook name
. Затем использовать обратные апострофы, а не кавычки.