sql update INNER JOIN 中关键字 'INNER' 附近的语法不正确
Incorrect syntax near the keyword 'INNER' in sql update INNER JOIN
我试图通过连接两个表来更新一些记录。但它给了我一些语法错误。
请帮我解决这个问题。
UPDATE [GCPurchaseInstalment]
INNER JOIN @Temptable
ON GCPurchaseInstalment.StripeInvoiceId = @Temptable.InID
SET GCPurchaseInstalment.AmountReceived = @AMOUNT_RECEIVED,
GCPurchaseInstalment.PaymentFee = @PAYMENT_FEE,
GCPurchaseInstalment.ReceivedDate = @Temptable.paidDate,
GCPurchaseInstalment.StripeInvoiceId = @Temptable.InID,
GCPurchaseInstalment.IsActive = 0
WHERE GCPurchaseInstalment.GCPurchaseInstalmentId = @GCPurchaseInstalmentId
AND @Temptable.id = @RowCount
SQL 服务器中的正确语法使用 FROM
:
UPDATE pi
SET pi.AmountReceived = @AMOUNT_RECEIVED,
pi.PaymentFee = @PAYMENT_FEE,
pi.ReceivedDate = t.paidDate,
pi.StripeInvoiceId = t.InID,
pi.IsActive = 0
FROM [GCPurchaseInstalment] pi JOIN
@Temptable t
ON pi.StripeInvoiceId = t.InID
WHERE pi.GCPurchaseInstalmentId = @GCPurchaseInstalmentId AND
t.id = @RowCount;
请注意,我还引入了 table 别名,因此查询更易于编写和阅读。
我试图通过连接两个表来更新一些记录。但它给了我一些语法错误。
请帮我解决这个问题。
UPDATE [GCPurchaseInstalment]
INNER JOIN @Temptable
ON GCPurchaseInstalment.StripeInvoiceId = @Temptable.InID
SET GCPurchaseInstalment.AmountReceived = @AMOUNT_RECEIVED,
GCPurchaseInstalment.PaymentFee = @PAYMENT_FEE,
GCPurchaseInstalment.ReceivedDate = @Temptable.paidDate,
GCPurchaseInstalment.StripeInvoiceId = @Temptable.InID,
GCPurchaseInstalment.IsActive = 0
WHERE GCPurchaseInstalment.GCPurchaseInstalmentId = @GCPurchaseInstalmentId
AND @Temptable.id = @RowCount
SQL 服务器中的正确语法使用 FROM
:
UPDATE pi
SET pi.AmountReceived = @AMOUNT_RECEIVED,
pi.PaymentFee = @PAYMENT_FEE,
pi.ReceivedDate = t.paidDate,
pi.StripeInvoiceId = t.InID,
pi.IsActive = 0
FROM [GCPurchaseInstalment] pi JOIN
@Temptable t
ON pi.StripeInvoiceId = t.InID
WHERE pi.GCPurchaseInstalmentId = @GCPurchaseInstalmentId AND
t.id = @RowCount;
请注意,我还引入了 table 别名,因此查询更易于编写和阅读。