2016-04-14 4 views
0

複数のフィールドに基づいてテーブルを結合しようとしています.1つは直接テーブルから、もう1つは隣接テーブルから結合しようとしています。複数のテーブル間で複数のフィールドを使用してテーブルを結合する

enter image description here

私はContractDetailIDの「契約の詳細」の場合のみ機器得意=契約CustomerIDに「機器」に参加したいと思います。あなたが使用しているDBMS

+1

は、事前にありがとう!また、これを読むこともできます:http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a-question/ 285557#285557 –

+0

Microsoft SQL DB – Charles

+0

[SQL join multiple tables](http://stackoverflow.com/questions/9853586/sql-join-multiple-tables)の重複している可能性があります。 –

答えて

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) 
関連する問題