2015-08-19 3 views
0

Как я могу обновить 1 значение таблицы на основе другого идентификатора таблицы? например, ниже SQL, я хочу обновления tb_test NAME к tb_test2 NAME2 где код условия такие же A001Как данные в таблице из другой таблицы?

enter image description here

ожидаемого результата после обновления tb_test NAME станет ALI где код условия является A001

Что я До сих пор я пытался использовать онлайн-решение. (Не удалось применить)
update tb_test set tb_test.name = tb_test2.name2 from tb_test A inner join tb_Test2 B on A.code = B.code2

+0

Вы хотите сделать это только для конкретного примера или с возможно большим количеством строк в tb_test2? И какие заявления 'UPDATE' вы пробовали до сих пор? Вы можете вставить 'SELECT' в' UPDATE'. –

+0

да возможно больше строк в tb_test2, код может иметь более 1 ... скриншот предоставлен только образец. Что важно ... tb_test будет обновляться на основе данных tb_test2, если код tb_test и код tb_test2 совпадают. Ошибка – user3835327

ответ

1

Что-то вроде следующей должно делать:

update tb_test set name=(select tb2.name2 from tb_test2 tb2 where tb2.code2=code)

Вы обновите имя, которое выбирается из другой таблицы и код/​​Кодекса2 столбцы должны совпадать.

+0

Все сработало. Но если есть несколько строк с заданным значением, будет журнал ошибок. 'Результат скалярного fullselect, Оператор SELECT INTO или оператор VALUES INTO - это несколько строк. 'поэтому я добавляю на' FETCH FIRST 1 ROW ONLY' за кодом (tb2.code2 =). Спасибо в любом случае. – user3835327

0

Правильный сценарий будет:

обновление tb_test внутреннее соединение tb_test2 на tb_test.CODE = tb_test2.CODE2 множества tb_test.name = tb_test2.NAME2;

+0

: «неожиданный токен« join »был найден после« ». ожидаемые токены могут включать «от» ' – user3835327

+0

Извините, я попробовал это для mysql –

0

Оператор INSERT INTO SELECT выбирает данные из одной таблицы и вставляет их в существующую таблицу. Любые существующие строки в целевой таблице не затрагиваются. (w3schools.com/sql/sql_insert_into_select.asp)

Смежные вопросы