내 테이블을 case
에 group by
문으로 업데이트하고 싶습니다.그룹 기준 + 사례 코드
나는 salary
열을 포함하는 플레이어 테이블을 가지고 있으며 각 행에 대해 group_name
이 있습니다.
평균 급여보다 큰 급여를 갱신하고 싶습니다.
우선, 이름, 선수 급여 및 팀 평균 급여를 나열하려고했습니다. 나는 이것에 문제가있어서 나는 기꺼이 도움을 얻을 것이다.
select first_name,
last_name,
group_name,
salary,
(
select round(avg(salary),2) as salary
from players
group by group_name
)
from players
도움 주셔서 감사합니다.
MERGE INTO MyTable MyTable
USING
(
SELECT a.player,
a.[group],
a.sal,
b.sal2
FROM MyTable a
INNER JOIN
(
SELECT [group],
AVG(Sal) sal2
FROM MyTable
GROUP BY [group]
) b ON a.[group] = b.[group]
AND a.sal > b.sal2
) YY
ON YY.player = MyTable.player
AND YY.[group] = MyTable.[group]
WHEN MATCHED
THEN UPDATE SET
MyTable.sal = yy.sal2;
이 시나리오의 내부 조인을 사용하십시오. –
샘플 테이블 데이터와 예상 결과 및 서식있는 텍스트를 추가하십시오. – jarlh
행의 값을 어떻게 업데이트 하시겠습니까? –