You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Access 2000(mdb)中INSERT INTO结合UNION的SQL语句报语法错误求助

Access 2000 INSERT带UNION语句语法错误的解决办法

Access 2000的Jet SQL引擎对INSERT INTO...SELECT...UNION的语法有特殊限制,直接将UNION组合的查询放在INSERT后会触发语法错误,哪怕两个SELECT单独执行都正常。

解决方法是把UNION组合的查询包装成带别名的子查询,修改后的SQL语句如下:

insert into full_join_DR(y,m,ds,rs,b) 
select * from (
  select r.y, r.m, d.summa as ds , r.summa as rs , d.summa - r.summa as b 
  from r left join d on r.y=d.y and r.m=d.m 
     union 
  select d.y, d.m, d.summa, r.summa , d.summa - r.summa 
  from d left join r on r.y=d.y and r.m=d.m
) AS temp

关键说明

  • Access Jet引擎要求子查询必须指定别名(示例里的temp可以换成任意合法名称),否则会报错。
  • 确保两个SELECT语句返回的列数、数据类型完全一致,且与目标表full_join_DR的字段类型匹配(这也是避免后续报错的前提)。

内容的提问来源于stack exchange,提问作者Mike

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 00:32:08