CASE WHEN в SELECT Mysql?

Рейтинг: 0Ответов: 1Опубликовано: 23.10.2014

Почему-то не срабатывает CASE WHEN в SELECT:

SELECT FIELDS...
    DetailToUsersName = ( CASE a.QuestionTypeUser
                WHEN 1 THEN b.DetailToUsersName
                WHEN 2 THEN m.MedicalFacilitiesName
                WHEN 3 THEN b.DetailToUsersName
              END),

              DetailToUsersPhoto = ( CASE a.QuestionTypeUser
                WHEN 1 THEN b.DetailToUsersPhoto
                WHEN 2 THEN m.MedicalFacilitiesPhoto
                WHEN 3 THEN b.DetailToUsersPhoto
              END)

          FROM question a...

На выходе хочу получить поля: DetailToUsersName, DetailToUsersPhoto, а в итоге получаю весь CASE

Ответы

▲ 3Принят

Сделал так:

 CASE WHEN a.QuestionTypeUser IN (1,3) THEN b.DetailToUsersPhoto
                 WHEN a.QuestionTypeUser IN (2) THEN m.MedicalFacilitiesPhoto
           END AS DetailToUsersPhoto,

           CASE WHEN a.QuestionTypeUser IN (1,3) THEN b.DetailToUsersName
                 WHEN a.QuestionTypeUser IN (2) THEN m.MedicalFacilitiesName
           END AS DetailToUsersName