2017-04-24 58 views
-1

我有2個表包含一些像下面的銀行信息。聯合表SQL Server

Create table dbo.MainBank 
(
    tmp1ID int, 
    ID int not null, 
    temptableID int not null, 
    CountryID int 
) 

insert into dbo.MainBank values(1, 22, 9999, 56) 

Create table dbo.BankBranches 
(
    tmp1ID int, 
    CountryID int, 
    BankBranchName varchar(200), 
    BranchID int, 
    temptableID int not null 
) 

insert into dbo.BankBranches values(0, 56, 'Near Giant Store', 1000, 9999) 
insert into dbo.BankBranches values(0, 56, 'Inside DM Mall', 2000, 9999) 
insert into dbo.BankBranches values(0, 56, 'Near Hwy 20', 3000, 9999) 
insert into dbo.BankBranches values(0, 56, '24 Salem St', 4000, 9999) 

我想通過dbo.BankBranches所有值從dbo.MainBank ID的每場比賽進行迭代。

create table dbo.result 
(
    tmp1ID int, 
    CountryID int, 
    temptableID int, 
    BankBranchName varchar(200), 
    BranchID int 
) 

INSERT INTO dbo.result values(1, 56, 9999, 'Near Giant Store', 1000) 
INSERT INTO dbo.result values(1, 56, 9999, 'Inside DM Mall', 2000) 
INSERT INTO dbo.result values(1, 56, 9999, 'Near Hwy 20', 3000) 
INSERT INTO dbo.result values(1, 56, 9999, '24 Salem St', 4000) 

我該怎麼做?

感謝

+4

提示:'JOIN'應該做你想要什麼。 –

回答

0

假設您的意思是BankBranches所有值和MainBank這些值,其中BankBranches.BranchID = MainBank.temptableID:

select BB.* 
     ,MB.* 
From BankBranches BB 
Left Join MainBank MB 
on BB.BranchID = MB.temptableID 
0

鑑於您的示例數據和您想要的結果,我猜您正在尋找的IDtemptableID

您可以使用內部聯接,因爲我們只需要在普通的兩個表之間返回記錄:

select mb.tmp1ID, 
     mb.CountryID, 
     mb.temptableID, 
     bb.BankBranchName, 
     bb.BranchID 
from dbo.MainBank mb 
inner join dbo.BankBranches bb 
    on mb.temptableID = bb.temptableID