2017-02-12 5 views
0

У меня есть таблица Mysql, которая имеет столбец requestID. requestId имеет тип String. У меня есть три типа requestID. Предположим, что bed, tv и fridge.Создайте новый столбец на основе значения столбца в таблице MYSQL

  • Для запроса типа bed в requestID ничего не добавляется. например abc123
  • Для tv и fridge тип запроса, requestId прилагается tv и fridge соответственно. например abc123.tv или abc123.fridge

Мне нужно создать новую таблицу, которая имеет все столбцы плюс столбец requestType который имеет вход bed, tv или fridge.

Входной

| ID | RequestId  | 
| 1 | abc123  | 
| 2 | abc123.tv  | 
| 3 | abc123.fridge | 

Выход

| ID | RequestId  | RequestType |  
| 1 | abc123  | bed  | 
| 2 | abc123.tv  | tv   | 
| 3 | abc123.fridge | fridge  | 
+0

Вы можете показать некоторые данные образца и ожидаемый результат? неясно, что вам нужно. –

ответ

1

Вы можете использовать SUBSTRING_INDEX, чтобы получить столбец ТипЗапроса как символов после . в строке. Затем используйте CREATE TABLE AS..SELECT.., чтобы создать новую таблицу со всеми существующими столбцами и недавно вычисленной.

create table newtable as 
select e.*, 
case when substring_index(requestID,'.',-1)=requestID then 'bed' 
else substring_index(requestID,'.',-1) end as requestType 
from existing_table e 
Смежные вопросы