Как добавить результаты запроса MySQL, который разбивает столбец на две части таблицы? - PullRequest
0 голосов
/ 01 октября 2011

Я выполняю следующий запрос к таблице, которая разбивает имя и фамилию каждого человека в столбце Имя таблицы на Имя и Фамилия:

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 1), ' ', -1) as Firstname,
       SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 2), ' ', -1) as Lastname
FROM   conference;

Это прекрасно работает.Теперь я хотел бы добавить результаты этого к двум новым столбцам таблицы, которые я назвал «Имя» и «Фамилия».

Я попытался добавить INSERT conference [Firstname, Lastname] в начало запроса, но это вызвало ошибку.Может ли кто-нибудь помочь с правильным способом сделать это?

Спасибо,

Ник

Ответы [ 2 ]

1 голос
/ 01 октября 2011

Если вы намерены обновить существующие строки с этими новыми полями вместо вставки новых записей, это должно работать

UPDATE Conference 
SET 
   Firstname = SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 1), ' ', -1),
   Lastname = SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 2), ' ', -1)
0 голосов
/ 01 октября 2011

вы пробовали:

select SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 1), ' ', -1) as Firstname,
       SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 2), ' ', -1) as Surname
into conference 
from conference
...