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

SQL Server 关联多表查询合同内外方案及对应承包商名称

关联方案

你现有SQL中a表对应外场父合同,b表对应内场子合同,只需要基于对应合同的ContractId关联供应商关联表、承包商数据表即可,下面以获取内场合同绑定的承包商为例给出最终SQL:

select 
  a.PlanCode as `exterior plan code`,
  b.PlanCode as `interior plan code`,
  cd.Name as `Contractor name`
from contractmaster a 
join contractmaster b on a.ContractId = b.ParentContractId 
-- 关联合同-供应商映射表,用内场合同ID关联,如果要取外场合同的供应商就换成a.ContractId
join contractsupplierassoc csa on b.ContractId = csa.ContractId
-- 关联承包商表取名称
join contractordata cd on csa.ContractorId = cd.ContractorId
where a.IsCompleted = 1 

注意事项

  • 如果你需要取外场父合同绑定的承包商,只要把contractsupplierassoc的关联条件改成a.ContractId = csa.ContractId即可。
  • 如果存在一个合同绑定多个承包商的场景,查询结果会按承包商拆分成多条,符合一对多关联的逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 12:51:04