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

SQL如何将大表的Eggs字段值按匹配条件添加到较小的目标表

SQL关联查询实现表字段合并

首先我们先做如下表名假设(你可以根据实际表名替换即可):

  • 包含Name、Day字段的第一张表表名为user_day
  • 包含Day、Eggs字段的第二张表表名为day_eggs

因为第二张表存在相同Day、Eggs的重复数据,直接关联会导致结果行数翻倍,所以我们需要先对第二张表按Day去重后再关联,具体SQL语句如下:

SELECT 
  ud.Name,
  ud.Day,
  de.Eggs
FROM user_day ud
LEFT JOIN (
  -- 对第二张表去重,得到每个Day对应的唯一Eggs值
  SELECT DISTINCT Day, Eggs FROM day_eggs
) de ON ud.Day = de.Day;

如果业务上不需要保留第一张表中没有匹配到Eggs的记录,可以把LEFT JOIN替换为INNER JOIN,对你给出的示例数据而言两种写法输出结果完全一致。
如果实际场景中同一个Day对应多个不同的Eggs值,你可以根据需求调整子查询的聚合规则,比如求和用SELECT Day, SUM(Eggs) as Eggs FROM day_eggs GROUP BY Day即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:15:02