Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 更新并设置id等于另一个表中id的行_Sql_Sql Server - Fatal编程技术网

Sql 更新并设置id等于另一个表中id的行

Sql 更新并设置id等于另一个表中id的行,sql,sql-server,Sql,Sql Server,我试图在一行中设置两列,其中该行的paymentid与该行另一个表中的外键相同 UPDATE SomeDB.dbo.[Payment] SET TransactionId = {0}, PaymentAccepted = 1 WHERE 我有一个OrderId,该订单有一个PaymentId支付表的外键。我想,这就是你要找的,但是没有具体的字段和表名,我只能给你一个提示它将如何工作 Update SomeDB.dbo.[Payment] SET

我试图在一行中设置两列,其中该行的paymentid与该行另一个表中的外键相同

UPDATE 
    SomeDB.dbo.[Payment]
SET 
    TransactionId = {0},
    PaymentAccepted = 1
WHERE

我有一个OrderId,该订单有一个PaymentId支付表的外键。

我想,这就是你要找的,但是没有具体的字段和表名,我只能给你一个提示它将如何工作

Update 
    SomeDB.dbo.[Payment]
SET 
    TransactionId = {0},
    PaymentAccepted = 1
FROM 
    SomeDB.dbo.[Payment]
INNER JOIN 
    SomeDB.dbo.[OtherTable] on SomeDB.dbo.[Payment].paymentId = SomeDB.dbo.[OtherTable].foreignKey
WHERE
    ...

以下代码将适用于您

Update SomeDB.dbo.[Payment]
SET TransactionId = {0}, PaymentAccepted = 1
FROM SomeDB.dbo.[Payment] A
INNER JOIN SomeDB.dbo.[SomeTable] B on A.ForeignID = B.ID
WHERE B.SomeColumn = {1}