我最近发现此查询将我的数据从一列发送到另一列,我需要复制的唯一数据是累积的数据,product_id必须与产品表中的数据匹配主键是ID,但仅用于填充表sale_items。
select (id),(product_id),(acumulado) from sma_sale_items
GROUP BY product_id ORDER BY product_id DESC
使用此更新,但它仅将第一个product_id复制给我,在这种情况下,我需要最后插入的product_id。
UPDATE sma_products
INNER JOIN sma_sale_items
ON sma_sale_items.product_id = sma_products.id
SET sma_products.acumulado = sma_sale_items.acumulado
有人帮助我将该查询转换为更新吗?
您的原始查询不是有效的SQL-尽管MySQL可能接受它-因为它在select
子句中具有非聚合的列,这些列不属于group by
子句。如果要与最新的product_id
对应的记录,则只需order by
和limit