0
複数のフィールドに基づいてテーブルを結合しようとしています.1つは直接テーブルから、もう1つは隣接テーブルから結合しようとしています。複数のテーブル間で複数のフィールドを使用してテーブルを結合する
私はContractDetailIDの「契約の詳細」の場合のみ機器得意=契約CustomerIDに「機器」に参加したいと思います。あなたが使用しているDBMS
複数のフィールドに基づいてテーブルを結合しようとしています.1つは直接テーブルから、もう1つは隣接テーブルから結合しようとしています。複数のテーブル間で複数のフィールドを使用してテーブルを結合する
私はContractDetailIDの「契約の詳細」の場合のみ機器得意=契約CustomerIDに「機器」に参加したいと思います。あなたが使用しているDBMS
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)
Microsoft SQL DB – Charles
[SQL join multiple tables](http://stackoverflow.com/questions/9853586/sql-join-multiple-tables)の重複している可能性があります。 –