2016-05-26 4 views
2

SQLコードを次のエラーをチェックするために助けてください:MYSQLのcase文複数の条件

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 

答えて

2

あなたは列の別名を繰り返しています。あなたはこれを意図していますか?

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;