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

如何通过SQL将表1最大ID关联到表2的所有查询结果行

解决方案

你不需要关联两张表,直接在查询字段中嵌入查询表1最大ID的子查询即可,该写法兼容所有主流SQL数据库:

SELECT 
  (SELECT MAX(ID) FROM t_name) AS END_ID,
  T2D2 AS END_D2,
  T2D3 AS END_D3
FROM t_name2 t2
-- 你原本需要加的WHERE条件、CASE语句都可以正常加在这里
-- 比如 WHERE t2.t2d2 IN ('Black', 'Blue')

如果更习惯用JOIN写法,可以先将表1的最大ID计算为单行结果集再做交叉连接:

SELECT 
  t1_max.max_id AS END_ID,
  t2.T2D2 AS END_D2,
  t2.T2D3 AS END_D3
FROM t_name2 t2
CROSS JOIN (SELECT MAX(ID) AS max_id FROM t_name) t1_max
-- 同样可正常追加表2的筛选、逻辑处理语句

原写法错误原因

你之前的写法直接对全量交叉连接的结果集使用聚合函数MAX(),但未对t2.t2d2等非聚合字段添加GROUP BY子句,不符合SQL语法规范,因此会执行报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:39:02