执行以下查询时,帖子标题中出现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/