Столбец не найден ошибка с простым запросом SQL - PullRequest
0 голосов
/ 19 августа 2010

Я знаю, что он почти там, но база сообщает, что не может найти столбец с именем table1.id, когда я знаю, что он там!

ОБНОВЛЕНИЕ table2 SET col1 = (SELECT field1 FROM table1 WHERE table2.id = table1.id) WHERE table1.id = table2.id

Ответы [ 4 ]

2 голосов
/ 19 августа 2010
UPDATE table2 SET col1 = (SELECT field1 FROM table1 WHERE table2.id = table1.id)

таблица1 неизвестна во внешнем SQL.

0 голосов
/ 19 августа 2010

Вариант 1: не нужно иметь внешнее предложение WHERE.
Вариант 2: не используйте внутренний запрос без необходимости. Вместо этого используйте Inner Join

0 голосов
/ 19 августа 2010

Вместо использования предложения WHERE попробуйте использовать предложение INNER JOIN.Это действительно поздно, так что прости меня за мой код ха-ха

UPDATE table2
SET col1 = (SELECT field1
            FROM table1
            WHERE table2.id = table1.id)
INNER JOIN table1
ON table2.id = table1.id
0 голосов
/ 19 августа 2010

Что я получу по вашему запросу, это будет работать

UPDATE table2 SET col1 = t1.field1
FROM table2 t2 INNER JOIN table1 t1 ON t2.id = t1.id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...