#sql #join #append #union #ms-access-2016
Вопрос:
Я пытаюсь объединить два запроса доступа (qry_Table1 и qry_Table2) с помощью SQL с помощью команды ОБЪЕДИНЕНИЯ в качестве третьего запроса, но я получаю следующее сообщение об ошибке:
Команда ОБЪЕДИНЕНИЯ для объединения двух запросов (в виде добавления), каждый из которых имеет одинаковые столбцы:
SELECT CustomerNumber
FROM qry_Table_1
UNION SELECT CustomerNumber
FROM qry_Table_2;
Я знаю, что проблема связана с номером пользователя в qry_Table2, потому что я могу присоединиться к любому или всем остальным столбцам (не показанным здесь), если я исключу это.
qry_Table1:
SELECT CustomerNumber FROM Customer;
qry_Table2:
SELECT Left("88800000",8-Len([Customer2].CustomerNumber)) amp; [Customer2].CustomerNumber AS CustomerNumber FROM Customer2;
(Приведенная выше инструкция SELECT заполняет начало номера клиента до 8 цифр, используя строку «88800000», и отлично работает в qry_Table2.)
И qry_Table1, и qry_Table2 имеют одинаковые столбцы, с той лишь разницей, что в qry_Table2 столбец CustomerNumber заменен на вычисленный, как указано выше.
Я не уверен, что это проблема с доступом или проблема с тем, как я распределил запросы.
Очевидно, я удалил все остальные запросы, поскольку они чувствительны и не имеют отношения к делу.
Кто-нибудь может дать мне какой-нибудь совет о том, где я иду не так?
Спасибо!!!
Фил.
Комментарии:
1. Я не могу проверить в данный момент, но это потому, что один возвращает число, а другой-строку? Что делать, если вы используете Cstr([номер пользователя]) в первом запросе?
2. Привет, Минти, спасибо за ответ и приношу извинения за медленный ответ — я отказался от этого! В конце концов я решил, что было бы более эффективно выполнить это преобразование в исходных данных в качестве дополнительного столбца идентификатора, а не делать это на лету с помощью SQL.