2014-05-02 22 views

回答

5

你可以做一個UPDATEINNER JOIN

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' 
) 
+0

非常感謝,它工作了! –

1

這應該是訣竅:

UPDATE payments SET payment_status = 1 WHERE payment_ID in (
    SELECT payment_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') 
相關問題