2013-04-04 100 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