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

MySQL连接两张表时如何添加字段标识数据所属的源表

SQL多表合并查询解决方案

现有查询的问题

你当前使用的SELECT NAME, ID FROM A JOIN B USING (NAME, ID)是内连接逻辑,只会返回两张表中NAME、ID同时匹配的行,无法拿到A、B两张表的全量独立数据,不符合你要合并两张表行数据的需求,无法通过单纯在原有查询上加字段实现要求。

正确实现方式

你需要用UNION ALL拼接两个独立子查询的结果,分别在子查询中定义FROM_WHERE的固定值即可,最终SQL如下:

SELECT NAME, ID, 'A' AS FROM_WHERE FROM A
UNION ALL
SELECT NAME, ID, 'B' AS FROM_WHERE FROM B

逻辑说明

  • 第一个子查询从表A取数,给FROM_WHERE字段赋值固定常量'A'标记数据来源
  • 第二个子查询从表B取数,给FROM_WHERE字段赋值固定常量'B'标记数据来源
  • UNION ALL直接拼接两个结果集,不会做额外去重处理,执行效率更高,完全匹配你的预期输出要求

内容的提问来源于stack exchange,提问作者Anat's

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:45:08