0

I am trying to join tables based on multiple fields, one from the immediate table and one from an adjoined table.

enter image description here

I would like to join the "Equipment" to "Contract Detail" on ContractDetailID only if Equipment CustomerID = Contract CustomerID.

Thank you in advance

Charles
  • 11
  • 1
  • 1
    Which DBMS are you using? You also might want to read this: http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a-question/285557#285557 –  Apr 14 '16 at 16:30
  • Possible duplicate of [SQL join multiple tables](http://stackoverflow.com/questions/9853586/sql-join-multiple-tables) – David Manheim Apr 14 '16 at 18:39

1 Answers1

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)