2017-04-24 17 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.MainBankからIDのすべての試合のためdbo.BankBranchesのすべての値を反復処理します。

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) 

どうすればいいですか?

おかげBankBranches.BranchID = MainBank.temptableIDどこがBankBranchesからのすべての値およびMainBankからそれらの値を意味すると仮定すると、

+4

ヒント: 'JOIN'はあなたが欲しいものを行う必要があります。 –

答えて

0

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

考えるあなたの例のデータと、ご希望の結果、私は推測していますあなたが参加しようとしているIDtemptableIDです。我々は唯一の2つのテーブル間の共通のレコードを返したいので、あなたが内部使用することができます

は、参加:

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