Cha*_*lez 51 database sql-server syntax inner-join
需要一些SQL语法帮助:-)
两个数据库都在同一台服务器上
db1 = DHE
db2 = DHE_Import
UPDATE DHE.dbo.tblAccounts
INNER JOIN DHE_Import.dbo.tblSalesRepsAccountsLink
ON DHE.dbo.tblAccounts.AccountCode = DHE_Import.tblSalesRepsAccountsLink.AccountCode
SET DHE.dbo.tblAccounts.ControllingSalesRep = DHE_Import.dbo.tblSalesRepsAccountsLink.SalesRepCode
Run Code Online (Sandbox Code Playgroud)
我可以在Access中使用具有类似语法的链接表进行查询 - 但是SQL不喜欢它.
我确定这是一个简单的问题:-D
谢谢!
jer*_*rry 115
您可以将其称为样式,但我更喜欢使用别名来提高可读性.
UPDATE A
SET ControllingSalesRep = RA.SalesRepCode
from DHE.dbo.tblAccounts A
INNER JOIN DHE_Import.dbo.tblSalesRepsAccountsLink RA
ON A.AccountCode = RA.AccountCode
Run Code Online (Sandbox Code Playgroud)
对于MySQL
UPDATE DHE.dbo.tblAccounts A
INNER JOIN DHE_Import.dbo.tblSalesRepsAccountsLink RA
ON A.AccountCode = RA.AccountCode
SET A.ControllingSalesRep = RA.SalesRepCode
Run Code Online (Sandbox Code Playgroud)
ram*_*ram 28
以下是MySQL语法:
UPDATE table1
INNER JOIN table2 ON table1.field1 = table2.field2
SET table1.field3 = table2.field4
WHERE ...... ;
Run Code Online (Sandbox Code Playgroud)
http://geekswithblogs.net/faizanahmad/archive/2009/01/05/join-in-sql-update--statement.aspx
应该看起来像这样:
UPDATE DHE.dbo.tblAccounts
SET DHE.dbo.tblAccounts.ControllingSalesRep =
DHE_Import.dbo.tblSalesRepsAccountsLink.SalesRepCode
from DHE.dbo.tblAccounts
INNER JOIN DHE_Import.dbo.tblSalesRepsAccountsLink
ON DHE.dbo.tblAccounts.AccountCode =
DHE_Import.tblSalesRepsAccountsLink.AccountCode
Run Code Online (Sandbox Code Playgroud)
更新表在 FROM 子句中重复。
对不起它很晚了,但我想这对那些在这里寻找解决类似问题的人有帮助.set子句应该在update子句之后.因此,重新安排您的查询稍有改变就可以了.
UPDATE DHE.dbo.tblAccounts
SET DHE.dbo.tblAccounts.ControllingSalesRep
= DHE_Import.dbo.tblSalesRepsAccountsLink.SalesRepCode
from DHE.dbo.tblAccounts
INNER JOIN DHE_Import.dbo.tblSalesRepsAccountsLink
ON DHE.dbo.tblAccounts.AccountCode
= DHE_Import.tblSalesRepsAccountsLink.AccountCode
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
346855 次 |
最近记录: |