Я извлекаю данные из базы данных для анализа и столкнулся с проблемой. По существу у меня есть столбец, который обозначает план выполнения продажи. Значения этих столбцов могут быть «Зеленый», «красный» или «?», Но каждый из них имеет уникальное описание следующего их, такие как Green - Good to proceed
, Green- Ready to move forward
или Red -Do not proceed
т.д.Как изменить значение столбца на основе его подстроки?
только данные мне нужно соответствующее " Красный "," Зеленый "или"? " значение, мне не нужно описание, следующее за ними. На данный момент все, что я делаю, - это первая буква каждой строки, использующая SUBSTRING, поэтому я получаю значения, такие как R, G, R, ?, ? etc..
. Затем в excel я могу найти и заменить, чтобы переименовать их, но это дополнительный шаг, который я делаю Думаю, это необходимо. Если я попробую и возьму первые 5 букв, у меня появятся данные, такие как Red -, or Red-D
для определенных строк, с которыми я не могу работать.
Есть ли способ изменить значение столбца в моем запросе? Я пытался что-то вдоль линий
SELECT CASE WHEN SUBSTRING(columnName, 1, 1) = 'G' THEN 'Green'
,CASE WHEN SUBSTRING(columnName, 1, 1) = 'R' THEN 'Red'
etc.....
, где я пытаюсь изменить значение на основе значения подстроки, , но это не работает. Может ли кто-нибудь предложить альтернативное решение?
Создайте таблицу типа 'progress_type (progress_type_id, color, shortcut description)' и сохраните в таблице данных внешний ключ 'progress_type_id'. –
Судя по дисперсии, указанной в примечаниях, следующих за цветами, «описание», вероятно, должно оставаться в исходной таблице; но я соглашаюсь на продвижение «кода» прогресса. – Uueerdo