使用内部连接更新=错误代码:1111。无效使用组功能

时间:2016-11-24 08:03:34

标签: mysql sql inner-join mysql-error-1111

执行下面的查询时,我在帖子标题中收到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()函数。还有另一种方法吗?

1 个答案:

答案 0 :(得分:0)

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