2016-11-17 2 views
0
select  `event_attendees_mapping`.`attendees_status_id` 
      FROM 
       `event_attendees_mapping` 
      WHERE 
       ((`event_attendees_mapping`.`event_schedule_id` = 1) 
        AND (`event_attendees_mapping`.`employee_code` = 'TJU_741')      
        ) 

, используя этот запрос, я могу получить значение, которое я преобразовал в случае и когда условие.Как получить значение из case-запроса, когда запрос в mysql

select case  
      when (select  `event_attendees_mapping`.`attendees_status_id` 
      FROM 
       `event_attendees_mapping` 
      WHERE 
       ((`event_attendees_mapping`.`event_schedule_id` = 1) 
        AND (`event_attendees_mapping`.`employee_code` = 'TJU_741')      
        ) )then 1 

        else 
        0 
        end 

, но здесь я получаю неизвестную ошибку таблицы «event_attendees_mapping» в списке полей в то время как из запроса я могу получить значение, пожалуйста, скажи мне, где я делаю неправильно, пожалуйста, предложить мне.

ответ

0

Это то, что вы хотите?

select  CASE WHEN `event_attendees_mapping`.`attendees_status_id` = ???? 
       THEN 1 
       ELSE 0 
      END as new_Col 
FROM `event_attendees_mapping` 
WHERE `event_attendees_mapping`.`event_schedule_id` = 1 
    AND `event_attendees_mapping`.`employee_code` = 'TJU_741'     
+0

Код ошибки: 1064. У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, для правильного синтаксиса, используемого рядом с '???? THEN 1 ELSE 0 END as new_Col FRO 'в строке 1 Ошибка отправляется –

+0

Я должен заменить ???? с любым участником_status_id, с которым вы хотите протестировать его. Но я не знаю, что именно вы хотите в результате. – Seb

+0

@sagi, пожалуйста, предложите mw, почему эта ошибка возникает –

Смежные вопросы