Использование запроса объединения в другом запросе приводит к противоречивой ошибке - PullRequest
0 голосов
/ 18 июня 2019

У меня довольно запутанная проблема.

Я пытаюсь собрать данные из нескольких разных таблиц в базе данных Access 2013. Ничего страшного, напишите запрос на объединение, вытащите такое же количество столбцов, хорошо? Работает нормально.

Проблема возникает, когда я создаю другой запрос, чтобы использовать результаты запроса объединения. Что происходит, так это то, что иногда, вместо получения результатов, запрос будет выдавать сообщение об ошибке: «Количество столбцов в двух выбранных таблицах или запросах запроса объединения не совпадают». Это не имеет смысла для меня, потому что запрос объединения просто ... работает. Нет ошибок, просто отображать данные.

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

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

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

tl; dr: Объединение запросов само по себе работает нормально. Добавьте его в другой запрос, Access упадет, иди бум. Иногда.

...