使用多个表中的多个字段连接表

时间:2016-04-14 16:27:00

标签: sql sql-server

我正在尝试基于多个字段连接表,一个来自直接表,另一个来自相邻表。

enter image description here

我希望仅在设备CustomerID =合同客户ID时才将“设备”加入ContractDetailID上的“合同明细”。

提前谢谢

1 个答案:

答案 0 :(得分:0)

declare @contract as table(
    contractid int,
    customerid int
)

declare @contractDetail as table(
    contractDetailId int,
    ContractID int
)

declare @equipment as table(
    equipmentId int,
    contractDetailId int,
    CustomerId int
)

insert into @contract values(5,3)
insert into @contractDetail values(10,5)
insert into @equipment values(1,10,3)

select e.*
from
    @contract c inner join
    @contractDetail cd on (c.contractId = cd.contractID) inner join 
    @equipment e on (c.customerId = e.CustomerId and e.contractDetailId = cd.contractDetailId)
相关问题