재우니의 블로그

 

UPDATE ~ FROM 절 사용할 때 GROUP BY 사용하는 방법

 

 

SELECT 구문에서 통계치를 뽑을려고 GROUP BY 를 많이 사용합니다. 이는 SELECT 구문절에서는 사용이 가능하지만, UPDATE ~ FROM 절에서 직접 사용은 어렵고, 한번 래퍼 씌워서 사용해야 하는 부분이 필요합니다.

 

 

 

UPDATE 
  RO 
SET 
  CouponTime = Isnull(gapminite, 0) 
FROM 
  dbo.TABLE1 AS RO WITH (nolock) 
  INNER JOIN (
    SELECT 
      Isnull(
        Sum(SD.gapminite), 
        0
      ) AS GapMinite, 
      RO.ownercode, 
      RO.yearmonth 
    FROM 
      dbo.TABLE1 AS RO WITH (nolock) 
      INNER JOIN dbo.TABLE2 AS SD WITH (nolock) ON RO.ownercode = SD.ownercode 
      AND RO.yearmonth = SD.monthlydate 
    WHERE 
      (RO.yearmonth = '201703') 
    GROUP BY 
      RO.yearmonth, 
      RO.ownercode
  ) X ON RO.ownercode = X.ownercode 
  AND RO.yearmonth = X.yearmonth 
WHERE 
  RO.yearmonth = '201703'