Sql server SQL使用另一个表中的值更新一个表
我有下面的SQL语句-Sql server SQL使用另一个表中的值更新一个表,sql-server,tsql,Sql Server,Tsql,我有下面的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中的外键,因此将每
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]
,但目前该列未填充。我想做的是,通过上述链接,使用tblExpenses
中的[ClientID]
填充[ClientID]
,这些链接来自tblCases
但是,我不清楚如何重写我的SELECT
查询,以便在tblExpenses
中填充[ClientID]
列
有人可以帮忙吗?您已经有足够的select查询来获取所需信息。您只需要将其转换为更新查询
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
您已经有足够的select查询来获取所需的信息。您只需要将其转换为更新查询
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