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

SQLite多表查询时如何在结果中输出数据对应的源表名称

SQLite多表查询标记源表名实现方案

结论

可以实现,不过你当前的SQL写法存在逻辑偏差,调整方案如下:

前置问题说明

你当前使用的SELECT * FROM TABLE1, TABLE2属于隐式笛卡尔积连接,最终返回的行数是两个表行数的乘积,不会出现一行来自TABLE1、一行来自TABLE2的结果。你描述的场景实际是要纵向合并两个同结构表的查询结果,可以通过UNION ALL搭配常量字段实现。

实现代码

-- 给每个表的查询结果新增固定值的源表名字段,再合并结果
SELECT *, 'TABLE1' AS source_table FROM TABLE1
UNION ALL
SELECT *, 'TABLE2' AS source_table FROM TABLE2;

效果说明

  • 每个子查询里的'TABLE1'/'TABLE2'是字符串常量,会作为新增字段的固定值填充到对应表的所有行中
  • UNION ALL会直接拼接两个子查询的结果,不会去重,执行效率更高,如果需要对合并结果去重可以替换为UNION
  • 最终查询结果会新增source_table字段,明确标记每一行数据的来源表,完全符合你需要的输出效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 12:36:03