UNION ALL запрос: «Определено слишком много полей»
Я пытаюсь получить СОЮЗ из 3 таблиц, каждая из которых имеет 97 полей. Я'мы пробовали следующее:
select * from table1
union all
select * from table2
union all
select * from table3
Это дает мне сообщение об ошибке:
Too many fields defined.
Я также попытался явно выбрать все имена полей из первой таблицы (для краткости добавлены эллипсы):
select [field1],[field2]...[field97] from table1
union all
select * from table2
union all
select * from table3
Это прекрасно работает, когда я только UNION две таблицы, как это:
select * from table1
union all
select * from table2
Я не долженв результате этого запроса получится более 97 полей; UNION с двумя столами имеет только 97. Так почему я получаюToo many fields
с 3 таблицами?
РЕДАКТИРОВАТЬ: как RichardTheKiwi отмечает ниже, Access суммирует количество полей каждого запроса SELECT в цепочке UNION, что означает, что мои 3 таблицы превышают максимум 255 полей. Поэтому вместо этого мне нужно написать запрос так:
select * from table1
union all
select * from
(select * from table2
union all
select * from table3)
который отлично работает