簡體   English   中英

SQL 使用 Join & Group By 查詢更新表

[英]SQL query for Update table using Join & Group By

我用它來獲取數據

SELECT customers.*, COUNT(invoice.payment_status) AS pending_invoices,sum(invoice.total ) AS total_pending_amount 
FROM customers JOIN invoice ON (invoice.customer_id = customers.id) 
WHERE invoice.payment_status = 'P' AND invoice.status = 'A' AND payment_followup_date IS NOT NULL AND payment_followup_date <= '2022-03-24 23:59' 
GROUP BY invoice.customer_id 
ORDER By payment_followup_date DESC

現在我正在尋找一個查詢來對客戶執行更新,以將當前日期時間添加到 payment_payment_followup_date 和付款狀態 = P 對於那些有超過 3 個待處理發票的客戶

嘗試這個:

UPDATE customers c
    INNER JOIN (
        SELECT 
            customer_id, COUNT(payment_status) pending_invoices
        FROM invoice
        WHERE payment_status = 'P' AND status = 'A'
        GROUP BY customer_id
        HAVING COUNT(payment_status) > 3
    ) i ON c.customer_id = i.customer_id
SET c.payment_payment_followup_date = CURRENT_TIMESTAMP()
    c.payment_status = 'P' 
WHERE c.payment_followup_date IS NOT NULL 
    AND c.payment_followup_date <= '2022-03-24 23:59'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM