gpt4 book ai didi

sql - UNION ALL 查询 : "Too Many Fields Defined"

转载 作者:行者123 更新时间:2023-12-04 17:10:58 25 4
gpt4 key购买 nike

我正在尝试获得 3 个表的 UNION,每个表都有 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

当我只联合两个这样的表时,它工作正常:
select * from table1
union all
select * from table2

作为这个查询的结果,我不应该得到超过 97 个字段;两表 UNION 只有 97。那么为什么我得到 Too many fields有3张 table ?

编辑:正如 RichardTheKiwi 在下面指出的那样,Access 正在汇总 UNION 链中每个 SELECT 查询的字段数,这意味着我的 3 个表超过了 255 个字段的最大值。因此,我需要像这样编写查询:
select * from table1
union all
select * from
(select * from table2
union all
select * from table3)

这工作正常。

最佳答案

被跟踪的字段数(限制为 255)似乎是针对 UNION ALL 的所有部分进行计数的。所以 3 x 97 = 291,这是多余的。您可能会创建一个查询作为 UNION 的所有 2 部分,然后使用该查询和第 3 部分创建另一个查询。

关于sql - UNION ALL 查询 : "Too Many Fields Defined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13846776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com