Mysql 更新并选择两个不同表中的顺序

Mysql 更新并选择两个不同表中的顺序,mysql,Mysql,我正在尝试用两个不同的表更新行 UPDATE produits p set p.quantite_produit_commande FROM ( SELECT p.id_produit, p.nom_produit, (p.quantite_produit_commande) as "stock" , (SUM(lc.quantite)) as "ordered quantity" , (p.quantite_produit_commande - SUM(lc.quantite)) as

我正在尝试用两个不同的表更新行

UPDATE produits p set p.quantite_produit_commande
FROM (

SELECT
p.id_produit,
p.nom_produit,
(p.quantite_produit_commande) as "stock" ,
(SUM(lc.quantite))  as "ordered quantity" ,
(p.quantite_produit_commande -  SUM(lc.quantite)) as remaining_stock
FROM produits p
INNER JOIN lignes_commandes lc ON lc.id_produit = p.id_produit
GROUP BY p.id_produit)
WHERE p.id_produit = 1;
但是我有一个语法错误

错误1064 42000:您的SQL语法有错误;检查 与右边的MySQL服务器版本相对应的手册 要从选择中使用“近”的语法

请帮帮我

仅通过添加select命令,更新查询不起作用

请尝试以下查询进行更新

UPDATE produits AS p
        JOIN
    (SELECT 
        id_produit, SUM(quantite) AS sum_quantite
    FROM
        lignes_commandes
    GROUP BY id_produit) AS lc ON p.id_produit = lc.id_produit 
SET 
    p.quantite_produit_commande = (p.quantite_produit_commande - lc.sum_quantite)
WHERE
    p.id_produit = 1;
有关更多信息,请参阅文档

谢谢您的回答, 这是我做的,而且很有效。 更新产品p集p.quantite\u产品p库存=选择 p、 定量产品库存-以库存为单位进行定量 从PRODUTS p内部连接对齐命令lc ON lc.id_produit=p.id_produit内部连接命令c ON c、 id_命令=lc.id_命令和lc.id_产品=p.id_产品和 p、 id_produit=? 按p.id\U产品分组
其中p.id\u produit=?

欢迎使用SO。请看:??将p.quantite\u produit\u command设置为什么?感谢您的回答:p.quantite\u produit\u comman=p.quantite\u produit\u command-SUMlc.quantiteUPDATE的语法中甚至没有FROM。