gpt4 book ai didi

mysql - 更新从同一查询中的 SELECT 检索的结果

转载 作者:行者123 更新时间:2023-12-01 00:21:53 25 4
gpt4 key购买 nike

我需要在后续 SELECT 查询的结果中将“payments”表的“payment_status”列更新为“1”,但在单个查询中。请帮助我。

SELECT * FROM payments p
INNER JOIN invoice i
ON i.invoice_number = p.invoiceGRN_id
WHERE i.invoice_status = '2' AND i.payment_type = 'Credit'

最佳答案

您可以使用 INNER JOIN 执行 UPDATE

UPDATE payments p
INNER JOIN invoice i
ON i.invoice_number = p.invoiceGRN_id
SET p.payment_status = 1
WHERE i.invoice_status = '2' AND i.payment_type = 'Credit'

或者你可以这样做(效率较低,但更直接地回答你的问题):

UPDATE payments 
SET payment_status = 1
WHERE id IN (
SELECT p.id FROM payments p
INNER JOIN invoice i
ON i.invoice_number = p.invoiceGRN_id
WHERE i.invoice_status = '2' AND i.payment_type = 'Credit'
)

关于mysql - 更新从同一查询中的 SELECT 检索的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23425045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com