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

如何在UNION查询中保留数据源标识字段?

给UNION查询添加数据源标识的解决方案

很简单,你只需要在每个SELECT语句里手动添加一个自定义标识字段,用来标记该行数据来自哪个schema就可以了。具体写法如下:

SELECT *, 'schema1' AS source_schema FROM "schema1"."items"
UNION
SELECT *, 'schema2' AS source_schema FROM "schema2"."items";

补充说明:

  • 这里的source_schema是自定义的字段名,你也可以改成更直观的名字,比如data_source或者origin_schema,完全看你的需求。
  • 如果两张表的数据没有重复(或者你不需要自动去重),建议用UNION ALL代替UNION,这样查询效率会更高——因为UNION会额外做一次去重操作:
    SELECT *, 'schema1' AS source_schema FROM "schema1"."items"
    UNION ALL
    SELECT *, 'schema2' AS source_schema FROM "schema2"."items";
    
  • 如果你不想返回所有字段,而是指定某些字段,只需要把*换成具体的字段名,同时保留标识字段即可,比如:
    SELECT id, name, 'schema1' AS source_schema FROM "schema1"."items"
    UNION ALL
    SELECT id, name, 'schema2' AS source_schema FROM "schema2"."items";
    

这样查询结果里就会多一列标识字段,每一行都能明确看到是来自schema1还是schema2啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:28:57