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

如何基于两个字段对同一张表执行LEFT JOIN左连接查询

解决方案

同一张维度表需要参与多次关联时,只需要给每次关联的维度表设置独立的表别名,分别匹配对应关联字段即可,不需要额外的特殊语法。

可直接运行的SQL代码

SELECT
  t.id,
  g1.name AS group1,
  g2.name AS group2
FROM Tab1 t
LEFT JOIN groupTable g1
  ON t.group1_id = g1.id
LEFT JOIN groupTable g2
  ON t.group2_id = g2.id;

实现说明

  • 给主表Tab1设置别名t简化书写,两次关联groupTable时分别设置别名g1、g2,避免同名字段引用冲突
  • 第一次关联逻辑:用主表的group1_id匹配g1的主键id,取出的name字段重命名为group1,对应第一个分组的名称
  • 第二次关联逻辑:用主表的group2_id匹配g2的主键id,取出的name字段重命名为group2,对应第二个分组的名称
  • 上述SQL执行后返回的结果完全匹配预期:
------------------------
| id | group1 | group2 |
------------------------
| 1  | boats  | cars   |
| 2  | boats  | bikes  |
| 3  | cars   | boats  |
------------------------

如果后续需要更多维度关联同一张维度表,按照相同逻辑新增带独立别名的LEFT JOIN即可,没有关联次数限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 11:18:09