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

SQLite:如何将含Null值的列名按行单独显示

解决SQLite中按行输出每个ID的Null列名问题

先明确预期输出格式:

IDNull_Column
1Column B
1Column C
2Column A
3Column A
3Column B

可以通过UNION ALL将列级的Null检查结果拆分为行数据,具体SQL语句如下:

SELECT ID, 'Column A' AS Null_Column
FROM TABLE_DEMO
WHERE "Column A" IS NULL
UNION ALL
SELECT ID, 'Column B' AS Null_Column
FROM TABLE_DEMO
WHERE "Column B" IS NULL
UNION ALL
SELECT ID, 'Column C' AS Null_Column
FROM TABLE_DEMO
WHERE "Column C" IS NULL
ORDER BY ID;

原理说明

  • 对每一列单独执行查询,筛选出该列值为Null的记录,同时指定对应的列名作为结果字段
  • 用UNION ALL将三个查询的结果合并(UNION ALL会保留所有重复行,这里不需要去重)
  • 最后按ID排序,保证同一ID的Null列名集中展示

之前用Case语句得到逗号分隔结果的原因是:Case是在单条记录内做条件判断,只能将多个Null列名拼接在同一行,无法生成多行结果,而UNION ALL的方式正好满足“每个Null列名单独占一行”的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 02:02:20