У меня есть столы «игроки» и «награды». У меня есть несколько дублированных записей игроков, у которых разные идентификаторы, но одна и та же информация.Обновить таблицу из соединения с другим запросом?
Я пытаюсь обновить награды, связанные со вторыми игроками, так что я могу в конечном итоге удалить дубликаты.
Это, очевидно, не самый эффективный запрос, но его нужно запустить только один раз, и есть только 10-15 дубликатов. До сих пор у меня есть это:
UPDATE aw
SET aw.player_id = map.id1
FROM awards as aw,
(SELECT a.id as id1, b.id as id2
FROM players a, players b
WHERE a.first_name = b.first_name
AND a.last_name = b.last_name
AND a.id != b.id
AND a.team is not null
AND a.college is not null) as map
WHERE map.id2 = aw.player_id
Это дает мне неопределенный синтаксическую ошибку, но если я заменить первые две строки с только «Выберите aw.player_id, map.id1», он возвращает таблицу в два столбца с ожидаемыми значениями (так что имена столбцов и ссылки на таблицы верны).
Должно быть, мне что-то не хватает, но что это?
ahhh Большое вам спасибо. Я знал, что это что-то глупое. Моя неопытность с sql четко показывает! – pclem12
Я рад, что смог помочь :) –