2013-04-04 124 views
1

我有以下SQL語句 -SQL更新一個與值表從另一個表

SELECT e.*, i.CaseNo, c.Claimant, c.Defendant, c.ClientID 
FROM tblExpenses AS e 
INNER JOIN tblInvoices AS i ON e.InvNo = i.InvNo 
INNER JOIN tblCases AS c ON i.CaseNo = c.CaseNo 

這表明三個表之間的聯繫。

tblInvoices具有主鍵[InvNo]這也是tblExpenses外鍵從而把與有關發票每個費用。

tblCases有一個主鍵[CaseNo],它也是tblInvoices中的外鍵,從而將每張發票鏈接到特定情況。

最後,tblCases中的每個案例都有一個名爲[ClientID]的列,用於標識發票發送給的客戶。

然後,tblExpenses也有一個外鍵[ClientID],但目前該列未填充。我想要做的是使用上述鏈接通過上述鏈接填充[ClientID],tblExpenses,[ClientID]tblCases

但是,我不清楚如何重寫我的SELECT查詢,以執行[ClientID]tblExpenses列的人口。

任何人都可以請協助嗎?

回答

1

您已經有足夠的選擇查詢來獲取所需的信息。您只需將其轉換爲更新查詢。

UPDATE e SET e.ClientID=c.ClientID 
FROM tblExpenses AS e 
INNER JOIN tblInvoices AS i ON e.InvNo = i.InvNo 
INNER JOIN tblCases AS c ON i.CaseNo = c.CaseNo 
+0

這就是我一直在尋找的語法,非常好,謝謝。 – PJW 2013-04-04 05:03:32