У меня есть table_1
которая выглядит примерно так:
NameId SelectedName
Null A
Null C
Null F
NameId
- это FOREIGN KEY
который REFERENCES table_2 (Id)
И table_2
который выглядит так
Id Name
1 A
2 B
3 C
4 D
5 E
6 F
Я хочу заполнить NameId
всеми Id
номерами, связанными с одним и тем же Name
, так, например, конечным результатом будет:
NameId SelectedName
1 A
3 C
6 F
Пока все, что у меня есть, это:
SELECT Id, 'Name' FROM table_2 WHERE 'Name' IN (SELECT 'SelectedName' FROM table_1);
Который я тогда пытался следить за:
UPDATE table_1 SET NameId = Id WHERE SelectedName = 'Name';
Что не работает. Не знаете, как это сделать или как использовать ранее выбранные столбцы и отношения, чтобы получить то, что я хочу сделать здесь...
UPDATE table1
INNER JOIN table2
ON table1.SelectedName= table2.Name
SET table1.NameId = table2.ID
Первое Обновление table_1.NameId
значения с table_2.Id
UPDATE table_1 INNER JOIN table_2 ON table_1.SelectedName= table_2.Name
SET table_1.NameId= table_2.Id
и получить значения из table_1
SELECT NameId, SelectedName
FROM table_1
WHERE SelectedName IN (SELECT Name FROM table_2);
UPDATE Table1 a INNER JOIN Table2 b ON a.SelectedName = b.Name SET a.NameId = b.ID
SQL syntax error near FROM table1
...?UPDATE Table1 a INNER JOIN Table2 b ON a.SelectedName = b.Name SET a.NameId = b.ID