簡體   English   中英

MySQL更新與子查詢聯接

[英]Mysql update with subquery join

我有更新查詢:

UPDATE cash_billings_bills_articles 
    SET cash_billings_bills_articles.cashbillingbillarticle_cost = (SELECT articles_pricehistory.articlepricehistory_cost
                                            FROM articles_pricehistory
                                            LEFT JOIN cash_billings_bills
                                                 ON cash_billings_bills_articles.cashbillingbill_id = cash_billings_bills.cashbillingbill_id
                                            WHERE articles_pricehistory.article_id = cash_billings_bills_articles.article_id AND
                                                 articles_pricehistory.articlepricehistory_date <= cash_billings_bills.cashbillingbill_date
                                            ORDER BY articles_pricehistory.articlepricehistory_date DESC
                                            LIMIT 1
                                           );

但是我得到了錯誤: Error Code: 1054. Unknown column 'cash_billings_bills_articles.cashbillingbill_id' in 'on clauseError Code: 1054. Unknown column 'cash_billings_bills_articles.cashbillingbill_id' in 'on clause' 0.000 sec

UPDATE表結構:

在此處輸入圖片說明

您的加盟條件似乎是錯誤的。在你的查詢您嘗試加入表articles_pricehistorycash_billings_bills條件

cash_billings_bills_articles.cashbillingbill_id = cash_billings_bills.cashbillingbill_id

其中cash_billings_bills.cashbillingbill_id列應該用一些列作比較articles_pricehistorycash_billings_bills_articles

您的查詢應該更像

UPDATE cash_billings_bills_articles 
SET 
    cash_billings_bills_articles.cashbillingbillarticle_cost = (SELECT 
            articles_pricehistory.articlepricehistory_cost
        FROM
            articles_pricehistory
                LEFT JOIN
            cash_billings_bills_articles ON cash_billings_bills_articles.article_id = articles_pricehistory.article_id
                LEFT JOIN
            cash_billings_bills ON cash_billings_bills_articles.cashbillingbill_id = cash_billings_bills.cashbillingbill_id
        WHERE
            articles_pricehistory.articlepricehistory_date <= cash_billings_bills.cashbillingbill_date
        ORDER BY articles_pricehistory.articlepricehistory_date DESC
        LIMIT 1)

暫無
暫無

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

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