Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MYSQL CASE STATEMENT MULTIPLE CONDITIONS

Please help to check the error in following sql code:

select
case when (z.mso_group_id = '3' and z.model_id = '22887081') then coalesce(level_2_id,996) level_2_id
      when (z.mso_group_id = '4' and z.model_id = '22911859') then coalesce(level_2_id,997) level_2_id
      when (z.mso_group_id = '5' and z.model_id = '22915074') then coalesce(level_2_id,998) level_2_id
      when (z.mso_group_id = '2' and z.model_id = '22908275') then coalesce(level_2_id,999) level_2_id
  end level_2_id
from
database_name
like image 670
Lavanya D. Avatar asked May 26 '16 11:05

Lavanya D.


1 Answers

You are repeating the column alias. Do you intend this?

select (case when (z.mso_group_id = '3' and z.model_id = '22887081') then coalesce(level_2_id,996)
             when (z.mso_group_id = '4' and z.model_id = '22911859') then coalesce(level_2_id,997)
             when (z.mso_group_id = '5' and z.model_id = '22915074') then coalesce(level_2_id,998)
             when (z.mso_group_id = '2' and z.model_id = '22908275') then coalesce(level_2_id,999)
        end) as level_2_id
from database_name;
like image 139
Gordon Linoff Avatar answered Oct 16 '22 16:10

Gordon Linoff