sorry_i_noob
@sorry_i_noob

Можно ли создать такой запрос в SQL, в котором числа заменяются на текст?

Здравствуйте. У меня есть таблица, в которой есть некоторые значения (поручения) и их статус (целочисленное значение). Я хочу создать запрос, в котором статус будет меняться на текст.
Примерно так.
0 - будет заменяться на "работа не начата".
1 - "работа идет".
2 - "работа выполнена".
Можно ли написать такой запрос в SQL? Или нужно создавать две таблицы - поручения и статусы. И делать запрос на основе этих таблиц?
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
@mletov
SELECT (CASE
                  WHEN stat=0
                  THEN 'работа не начата'
                  WHEN stat=1
                  THEN 'работа идет'
                  WHEN stat=2
                  THEN 'работа выполнена'
             END) AS statStr
FROM table


А вообще правильнее
Или нужно создавать две таблицы - поручения и статусы. И делать запрос на основе этих таблиц?

и делать через JOIN

т к
1) CASE WHEN может снизить производительность запроса
2) Справочник статусов может пополняться и придется все время обновлять запрос
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@dasauser
Пишу на PHP
да, можно.
Ответ написан
Комментировать
tsklab
@tsklab
Здесь отвечаю на вопросы.
SELECT ProductName, Manufacturer,
    CASE ProductCount
        WHEN 1 THEN 'Товар заканчивается'
        WHEN 2 THEN 'Мало товара'
        WHEN 3 THEN 'Есть в наличии'
        ELSE 'Много товара'
    END AS EvaluateCount
FROM Products
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы