Синтаксическая ошибка в INNER JOIN на Microsoft Access - PullRequest
0 голосов
/ 27 апреля 2018

Возможно, на этот вопрос уже был дан ответ, но мой поиск не дал никаких жизнеспособных решений. Я пытаюсь добавить столбец из другой таблицы, используя внутреннее соединение, чтобы разрешить доступ к обеим таблицам. Это использует Microsoft Access, и мой код выглядит следующим образом

SELECT Table1.* , Table2.AppendColumn
FROM Table1 INNER JOIN Table2 ON (Table1.foo = Table2.bar);

Я убедился, что столбцы имеют один и тот же тип данных и был бы признателен за более усвоенное мнение.

Полная ошибка

"Синтаксическая ошибка в выражении запроса 'Table1.foo = Table2.ba'.

Мне нужны все поля из первой таблицы только с одним столбцом из второй таблицы. я использовал термин добавление, так как он показался мне точным для того, что я делаю, хотя в другой таблице нет соответствующего или пустого столбца. Это не должен быть какой-то особый запрос, я просто создал его с помощью «Query Design» и сам написал код

Edit - эта проблема была вызвана неправильной инкапсуляцией на моем конце, я не знал о sql не нравящихся чисел в начале имен списка, извините за путаницу, и спасибо всем, кто внес вклад.

1 Ответ

0 голосов
/ 27 апреля 2018

Единственные вероятные проблемы, с которыми вы можете столкнуться здесь, - это если в вашем коде есть неправильные ссылки. Или, если есть серьезный недостаток в самой структуре SQL (например, запутанные символы запутываются).

Настоятельно рекомендуем проверить имя каждой таблицы и имена обоих внутренних столбцов соединения на наличие возможных ошибок ссылки.

Это может быть что-то привередливое, например, "Table1.Foo Bar", но должно быть "Table1. [Foo Bar]", так как Access не принимает пробелы в ссылках. То же самое относится и к любому столбцу, начинающемуся с цифры или символа.

Примерно так:

SELECT Table1.* , Table2.[Append Column]
FROM Table1 INNER JOIN Table2 ON (Table1.[foo bar] = Table2.[1050])

Но в нынешнем виде ваш код правильный, как указано.

...