Issue
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.
Solution
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
Answered By – dnoeth
Answer Checked By – Clifford M. (BugsFixing Volunteer)