使用内部连接更新=错误代码:1111.组函数的使用无效
问题描述:
执行下面的查询时,我在帖子标题中看到1111错误。基本上,我尝试用表2(search_upload_quotes)中的数据更新表1(special_valuation_temp)。我想获取最小和最大报价值来更新表1。使用内部连接更新=错误代码:1111.组函数的使用无效
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
并按原样进行计算。
您是否想过使用子选择? – rbr94
是的。超过一百万行太慢了。 – scott80109