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

如何在Azure SQL中关联多表并将不同表字段合并到单表中

Azure SQL 三表关联合并查询实现方案

以下为适配Azure SQL语法的查询模板,你可以结合图中的字段取值规则、实际表名、关联键替换对应部分即可使用:

-- 方案1:直接生成合并后的结果集
SELECT
  -- 按你的字段规则配置各字段来源,以下为示例
  t1.column_a AS 目标字段1,
  t2.column_b AS 目标字段2,
  -- 多来源字段条件取值示例
  CASE 
    WHEN t1.status = 'active' THEN t1.value
    ELSE COALESCE(t3.value, t2.default_value)
  END AS 目标字段3
FROM source_table_1 t1
-- 根据你的数据匹配需求选择JOIN类型
INNER JOIN source_table_2 t2 
  ON t1.common_id = t2.common_id
LEFT JOIN source_table_3 t3 
  ON t1.common_id = t3.common_id
-- 如有过滤条件可补充
WHERE t1.is_deleted = 0

-- 方案2:如果需要直接生成新的合并表,在SELECT后补充INTO语法即可
SELECT
  -- 同上配置字段
  t1.column_a AS 目标字段1,
  t2.column_b AS 目标字段2,
  CASE 
    WHEN t1.status = 'active' THEN t1.value
    ELSE COALESCE(t3.value, t2.default_value)
  END AS 目标字段3
INTO merged_target_table -- 此处为你要创建的合并后的表名
FROM source_table_1 t1
INNER JOIN source_table_2 t2 
  ON t1.common_id = t2.common_id
LEFT JOIN source_table_3 t3 
  ON t1.common_id = t3.common_id

-- 方案3:如果合并表已经提前创建好,使用INSERT INTO语法
INSERT INTO merged_target_table (目标字段1, 目标字段2, 目标字段3)
SELECT
  t1.column_a,
  t2.column_b,
  CASE 
    WHEN t1.status = 'active' THEN t1.value
    ELSE COALESCE(t3.value, t2.default_value)
  END
FROM source_table_1 t1
INNER JOIN source_table_2 t2 
  ON t1.common_id = t2.common_id
LEFT JOIN source_table_3 t3 
  ON t1.common_id = t3.common_id

注意事项

  • 关联类型可根据业务需求调整:INNER JOIN仅保留三张表匹配一致的记录,LEFT JOIN保留左表全量记录,FULL OUTER JOIN保留三张表所有记录
  • 多来源字段取值可灵活使用CASE WHEN、IIF、COALESCE等Azure SQL支持的函数实现规则
  • 如有聚合、去重需求,可配合GROUP BY、DISTINCT、对应聚合函数实现

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 06:54:10