2017-05-05 80 views
0

我有一張使用過的四張表格。其中一個表是具有三列(ID,Cust_AcctID,Brch_CtyID)的empyt(ATM),並且我希望將數據插入到此表的Cust_AcctID和Brch_CtyID列中。SQL幫助 - 根據參考表格插入表格中來自兩個不同表格的數據

ID | Cust_AcctID | Brch_CtyID

第二個表(Cust_Acct)也有三列(ID,Customer和Account) Customer和Account列包含字符串數據。此列中的ID值是我希望插入到Cust_AcctID列中的ATM表中的值

ID |客戶|帳戶

1 | John Doe |檢查

2 | John Doe | Saving

3 | Jane Doe |檢查

4 | Jane Doe | Plan24

第三個表格(Brch_Cty)也有三列(ID,分支和城市) Branch和City列包含字符串數據。此列中的ID值是我希望插入到Brch_CtyID列中ATM表中的值。

ID |分支|城市

1 |主分部|紐約

2 |第二分部|紐約

3 |主分部|芝加哥

4 |上城分行|底特律

第四個表是一個參考表,它包含(客戶,帳戶)和(分支,城市)的所有有效組合。這些列中的所有數據都是字符串。

客戶|帳戶|分支|城市

John Doe |檢查|主分部|紐約

John Doe |儲蓄|第二分部|紐約

John Doe |檢查|上城分行|底特律

Jane Doe |檢查|上城分行|底特律

使用表4中的數據,我希望將來自Cust_Acct表的ID列中的數據插入到Cust_AcctID列中,並與第四個表中的數據相匹配。這同樣適用於被插入Brch_CtyID列Brch_Cty表ID

所以ATM表應該是這樣的

ID | Cust_AcctID | Brch_CtyID

1 | 1 | 1

2 | 2 | 2

3 | 1 | 4

4 | 3 | 4

能否請你幫我帶建設這個SQL語句。我真的很想搞清楚這一點。感謝您給予的任何幫助。

+0

你嘗試過什麼嗎? –

+0

首先嚐試進行連接這些表寫SELECT查詢.. –

+0

像..「選擇CA.ID,從Cust_Acct內連接Reference_table R ON CA.Customer = R.CUSTOMER和CA.Account = R BC.ID .Account 進一步 –

回答

0

你可以嘗試以下方法:

Select ca.ID,bc.ID 
From dbo.temp t Inner join dbo.Cust_Acct ca on ca.Customer=t.Customer AND 
ca.Account=t.Account 
inner join dbo.Brch_City bc on bc.Branch=t.Branch AND bc.City=t.City 
Where ca.Customer=t.Customer AND ca.Account=t.Account AND bc.Branch=t.Branch 
AND bc.City=t.City 

希望這有助於。 :)

+0

謝謝拉姆,該查詢與我在上面的評論中提出的查詢相同。它不會返回我期望的值。 –

+0

@RobKinnaird - 有一點區別。 你提到什麼是「選擇(ca.id,bc.id)」,而我所提到的「選擇ca.ID,bc.ID」 你能做出這些改變和嘗試? –

相關問題