Не могу использовать вставку с подзапросом

Эта проблема действительно странная, и я думаю, что она связана с самим Access.

Я пытаюсь вставить этот путь (действительно упрощенная версия, но в любом случае ошибка та же):

INSERT INTO phones(a, b)
select * from ( select C, D from banks) AS BB;

Access возвращает ошибку, говоря, что:

Инструкция INSERT INTO состоит из неизвестного поля C

Затем я попробовал другой запрос, который выглядит так же:

INSERT INTO phones(a, b)
select BB.* from ( select C, D from banks) AS BB;

Ошибка: номер поля не совпадает.

Однако запрос без подзапроса работает потрясающе!

INSERT INTO phones(a, b)
select C, D from banks;

Так что здесь не так?

1 ответ

Решение

Как я теперь вижу, Access не может сопоставить поля самостоятельно, поэтому имена в подзапросе должны быть одинаковыми:

INSERT INTO phones(a, b)
select * from ( select C as a , D as b from banks) AS BB;

Потрачено больше 1 часа, чтобы решить.

Другие вопросы по тегам