执行以下查询时,帖子标题中出现1111错误。基本上,我尝试使用表2(search_upload_quotes)中的数据更新表1(special_valuation_temp)。我想获得最小和最大报价值来更新表1。

UPDATE special_valuation_temp svt
       INNER JOIN search_upload_quotes suq
               ON ( svt.clei = suq.clei
                     OR svt.partnumber = suq.partnumber )
SET    svt.vendor_low = ( Min(suq.priceperunit) * svt.qty ),
       svt.vendor_high = ( Max(suq.priceperunit) * svt.qty )
WHERE  suq.submitted = 1
       AND suq.priceperunit > 0;


看来我不能在SET子句中使用MIN()和MAX()函数。还有另一种方法吗?

最佳答案

是的,如果不使用group by,那是不正确的。您宁可先在子查询中获取min()max()值,然后对该子查询结果执行join并按原样进行计算。

关于mysql - 使用内部联接更新=错误代码:1111。无效使用组函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40780902/

10-09 05:33