Ответ 1
Я не считаю, что вам нужен суб-запрос.
UPDATE results, build
SET results.platform_to_insert = build.correct_platform
WHERE results.BuildID = build.BuildID
Я смущен тем, как скопировать столбец из одной таблицы в другую, используя где. Я написал SQL-запрос, но он говорит, что время блокировки транзакций превышено или запрос возвращает более одной строки.
использование mysql
В основном,
У меня есть:
Table 1: Results
BuildID platform_to_insert
Table 2: build
BuildID correct_platform
update results set results.platform_to_insert
= (select correct_platform from
build where results.BuildID = build.BuildID)
Я не считаю, что вам нужен суб-запрос.
UPDATE results, build
SET results.platform_to_insert = build.correct_platform
WHERE results.BuildID = build.BuildID
Здесь есть два варианта:
BuildID
в качестве первичного ключа (чтобы избежать дублирования)обновите свой подзапрос, чтобы возвращать только один результат
UPDATE results SET results.platform_to_insert = (
SELECT correct_platform
FROM build
WHERE results.BuildID=build.BuildID LIMIT 1
);