У меня есть таблица базы данных, называемая winenames
с ID
столбцов и "WineName".
У меня есть другая таблица под названием wineinfo
со столбцами name_id
и WineName
и year
в таблице wineinfo имя_id пуст, но имеет около 3000 записей с данными в столбце WineName.
Мне интересно, есть ли SQL-запрос, который
wineinfo
и если строка "WineName" соответствует любому в winenames
в таблице, она захватывает идентификатор и помещает этот идентификатор в name_id.Пример. Мои имена вина выглядят так:
WineName ID
Wine1 1
Wine2 2
Wine3 3
Wine4 4
Мой wineinfo выглядит так
WineName name_id year
Wine1 2018
Wine1 2017
Wine1 2013
Wine1 2012
Wine2 2018
Wine2 2011
Wine2 2019
Мой план состоит в том, чтобы удалить столбец winename из приведенной выше таблицы и просто иметь идентификатор коррозии в столбце name_id.
Вы можете использовать update
:
update wineinfo wi join
winenames wn
on wi.winename = wn.winename
set wi.name_id = wn.id;
После этого, вероятно, вы должны удалить winename
столбец из wineinfo
. Лучше хранить эту информацию в одном месте. Затем вам нужно будет исправить процесс проглатывания данных, чтобы он всегда назначал правильный идентификатор.