ACCESS中union all超过了50次,现在显示查询过于复杂怎么办?谢谢

 我来答
tjrmgs
2015-05-21 · TA获得超过5765个赞
知道大有可为答主
回答量:2161
采纳率:94%
帮助的人:1046万
展开全部

Access中 Union All超过50次,报错“查询过于复杂”是由于受到ACCESS规格限制所致(嵌套查询层次数最大为50)。


哪么union all 需要超过50次怎么办?我们可以将非常多的联合查询分解为多个子查询,而这些子查询的联合次数设定为比50小(例如20或40个等,但是不能太接近50),然后再将这些子查询联合起来。这样就可以有效规避“嵌套查询层次数最大为50”的限制,使得可用的union all 次数大为增加。下面是例句供参考:


select t1.* from 

(select * from table1 

union all 

select * from table2

......

select * from table40)t1

union all 

select t2.* from 

(select * from table41 

union all 

select * from table42

......

select * from table80)t2

union all 

select t3.* from 

(select * from table81 

union all 

select * from table82

......

select * from table120)t3

union all 

.......以此类推


通过上述方法编写SQL语句可用的联合次数可大幅增加,但是请注意即使如此有关查询还是要受到多种ACCESS规格的限制,例如SQL查询最大字符数为6400个左右等,编写代码时请留意。具体可参阅下图中的ACCESS查询规格


chen_hongyang
2014-07-22 · TA获得超过5447个赞
知道大有可为答主
回答量:2790
采纳率:91%
帮助的人:873万
展开全部
那只能先把一部分union all的结果插入临时表,再通过临时表之间做union all
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式