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

Toad for SQL Server v8.1:三表关联查询返回两列结果建模求助

解决方案

手动修改的SQL查询

你可以用COALESCE()函数把RLAT.RS_UID和RLAB.RS_UID合并成单一列,同时保留RollID,最终查询如下:

SELECT 
    COALESCE(RLAT.RS_UID, RLAB.RS_UID) AS RS_UID,
    RLI.RollID
FROM
    GSL_PI_DEV.PISystem.RollInventory RLI
LEFT OUTER JOIN 
    GSL_PI_DEV.PISystem.RollAssignedBottom RLAB ON RLI.RLI_UID = RLAB.RLI_UID
LEFT OUTER JOIN 
    GSL_PI_DEV.PISystem.RollAssignedTop RLAT ON RLI.RLI_UID = RLAT.RLI_UID
WHERE 
    RLAT.RS_UID IS NOT NULL OR RLAB.RS_UID IS NOT NULL
  • COALESCE()会优先返回第一个非空的RS_UID:如果RLAT中有值就取它,否则取RLAB的值
  • WHERE条件保留,确保只返回关联了RLAT或RLAB的记录

Toad for SQL Server v8.1建模操作

如果要通过Toad可视化建模实现:

  1. 在查询构建器中添加三个表,按RLI_UID建立左连接(和你之前的关联方式一致)
  2. 不要直接添加RLAT.RS_UID和RLAB.RS_UID到结果列,而是点击添加计算列
  3. 在计算列中输入表达式:COALESCE(RLAT.RS_UID, RLAB.RS_UID),并设置列名为RS_UID
  4. 添加RLI.RollID到结果列
  5. 切换到WHERE标签,添加条件:RLAT.RS_UID IS NOT NULL OR RLAB.RS_UID IS NOT NULL
  6. 执行查询即可得到目标结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:52:36