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

MS Access SQL中使用SELECT *时如何将自定义列置于原有列之后?

MS Access中让自定义列排在原有列之后的解决办法

这确实是MS Access的特有行为——当你在SELECT语句中同时使用*和显式定义的列时,Access会把显式列放在所有*对应的原有列之前,和多数数据库的行为相反。

有两种可行的解决办法:

  • 显式列出所有原有列
    直接把表中所有需要的列逐一写出,最后加上自定义列,比如:

    SELECT col1, col2, col3, 1 AS test FROM tableName
    

    这种方式能完全控制列的顺序,缺点是如果表结构发生变更(新增/删除列),需要手动更新查询语句。

  • 使用子查询包装
    通过子查询先获取原有所有列,再在外层添加自定义列,避免手动列所有字段:

    SELECT sub.*, 1 AS test FROM (SELECT * FROM tableName) AS sub
    

    这种方式无需关心表的具体列名,表结构变化时查询语句不用修改,仅需多一层子查询,在Access中可以正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 01:40:58