如何将我的select语句转换为更新语句?

pay*_*ing 2 mysql sql

SELECT quotes.qid, SUM(qitems.net_cost_ext)
FROM quotes, qitems
WHERE quotes.qid = qitems.qid
GROUP BY qitems.qid;

UPDATE quotes, qitems
SET quotes.net_cost_total = SUM(qitems.net_cost_ext)
WHERE quotes.qid = qitems.qid
GROUP BY qitems.qid;
Run Code Online (Sandbox Code Playgroud)

上述选择语句总结了每个报价中所有产品的净成本,并按报价编号显示总和.

我在报价表中添加了一个net_cost_total字段.我想用每个报价中的net_cost总数更新所有报价.查询失败,它说GROUP语法不好,我不知道怎么回事.

Pen*_*m10 5

试试这个:

UPDATE quotes AS q 
        JOIN (SELECT quotes.qid, 
                         SUM(qitems.net_cost_ext) AS SUM 
                  FROM   quotes, 
                         qitems 
                  WHERE  quotes.qid = qitems.qid 
                  GROUP  BY qitems.qid) AS d 
         ON d.qid = q.qid 
SET    q.net_cost_total = d.SUM 
Run Code Online (Sandbox Code Playgroud)