I want to dynamically add another column hook_name
, via an SQL select query, based on a condition.
For example if hook_type = 0
, table hook_name
should have a value of OFFER
, and similarly for hook_type = 1
, hook_name
should show “ACCEPT”.
Below is a screenshot of the result:
The select query is this:
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;
Thanks in advance.
Advertisement
Answer
Use a Standard SQL CASE:
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