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

如何编写MS Access查询,将值为“Yes”的列的列名拼接填充至新字段

MS Access拼接符合条件字段名实现方案

通用兼容方案(支持所有Access版本)

直接使用IIF条件判断+字符串拼接+Mid函数处理多余逗号的逻辑,SQL语句如下:

SELECT 
    [Patient Name],
    [Injury A],
    [Injury B],
    Mid(
        IIF([Injury A] = "Yes", ", Injury A", "") &
        IIF([Injury B] = "Yes", ", Injury B", ""),
    3) AS [All Injuries]
FROM [你的表名];

说明:该逻辑会自动为每个值为Yes的损伤列拼接对应表头,最后通过Mid从第3位开始截取字符串,自动去掉开头多余的逗号和空格,不会出现首尾多余分隔符的问题。如果后续新增损伤类字段,只需在Mid的参数中按格式新增对应的IIF判断行即可。

高版本简化方案(仅支持Access 365/2021及以上版本)

可以用内置的CONCAT_WS函数自动处理分隔符,忽略空值,写法更简洁:

SELECT 
    [Patient Name],
    [Injury A],
    [Injury B],
    CONCAT_WS(", ",
        IIF([Injury A] = "Yes", "Injury A", NULL),
        IIF([Injury B] = "Yes", "Injury B", NULL)
    ) AS [All Injuries]
FROM [你的表名];

操作步骤

  • 打开Access数据库,点击「创建」选项卡下的「查询设计」
  • 关闭弹出的「显示表」弹窗,点击顶部视图区域的「SQL视图」
  • 粘贴对应版本的SQL代码,将[你的表名]替换为你实际使用的表名称
  • 点击顶部运行按钮(感叹号图标)即可看到预期输出,需要长期使用可直接保存该查询

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 03:36:03