簡體   English   中英

使用帶有左聯接和來自另一個表的group_concat的子查詢來更新字段

[英]update field using a subquery with left join and group_concat from another table

我正在使用下一個代碼,但是失敗了,我也不知道為什么。

UPDATE pd
SET pd.meta_categories = x.categories
FROM t_product_description pd
JOIN (
    SELECT p.product_id AS productid, GROUP_CONCAT(cd.name SEPARATOR ' ') AS categories
    FROM t_product AS p
    LEFT JOIN t_product_to_category AS p2c ON (p2c.product_id = p.product_id)
    LEFT JOIN t_category_description AS cd ON (cd.category_id = p2c.category_id)
    GROUP BY p.product_id
) x ON pd.product_id = x.productid

在mysql中,join子句成為第一個(不需要from),而set子句和

UPDATE t_product_description pd
JOIN (
    SELECT p.product_id AS productid, GROUP_CONCAT(cd.name SEPARATOR ' ') AS categories
    FROM t_product AS p
    LEFT JOIN t_product_to_category AS p2c ON (p2c.product_id = p.product_id)
    LEFT JOIN t_category_description AS cd ON (cd.category_id = p2c.category_id)
    GROUP BY p.product_id
) x ON pd.product_id = x.productid
SET pd.meta_categories = x.categories

暫無
暫無

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

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