2016-11-24 3 views
0

아래 쿼리를 실행할 때 게시물 제목에 1111 오류가 표시됩니다. 기본적으로 테이블 1 (special_valuation_temp)을 테이블 2 (search_upload_quotes)의 데이터로 업데이트하려고합니다. 최소 및 최대 따옴표 값을 사용하여 표 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() 함수를 사용할 수없는 것으로 보입니다. 이것을 할 또 다른 방법이 있습니까?

+0

하위 선택을 사용 하시겠습니까? – rbr94

+0

예. 백만 줄이 넘는 경우 너무 느립니다. – scott80109

답변

0

예, group by을 사용하지 않으면 올바르지 않습니다. 하위 쿼리에서 min()max() 값을 먼저 가져오고 해당 하위 쿼리 결과를 사용하여 join을 수행하고 현재 계산을 수행 할 수 있습니다.