#mysql #sql #phpmyadmin
Вопрос:
можно ли сделать такой запрос в SQL: есть столбец с именами, скажем, FirstName, вам нужно получить код soundex для каждого имени в столбце и записать эти коды в столбец FirstNamesdx?
Комментарии:
1. Если функция SOUNDEX() реализована в вашей СУБД, то это возможно.
2. да, у меня есть это, но, к сожалению, у меня проблема с созданием запроса
Ответ №1:
Ты пытаешься сделать что-то подобное:
CREATE TABLE test_tbl(
first_name VARCHAR(50),
FirstNamesdx VARCHAR(50)
);
insert into test_tbl(first_name) values ('Earbuds'),
('Phone'),
('Charger'),
('Data Cable'),
('Speakers');
Затем вы можете использовать обновление с той же таблицей, чтобы получить необходимые значения:
update test_tbl a
inner join
( select first_name, SOUNDEX(first_name) as soundex_first_name
from test_tbl
) as b
on a.first_name=b.first_name
set a.FirstNamesdx=b.soundex_first_name;
У тебя есть легкий путь:
update test_tbl
set FirstNamesdx= SOUNDEX(first_name);
Комментарии:
1. Подзапрос — это излишество.
2. @Akina, да
update test_tbl set FirstNamesdx= SOUNDEX(first_name);
. Я не думал об этом3. Спасибо вам, ребята, это работает!