vivektp Ответов: 2

Как обновить таблицу с данными из той же таблицы в SQL


У меня есть таблица в SQL, которую я хочу обновить

NAME   Emp_ID   Points   TotalPoints
ABC    1        50       0
ABC    1        40       0
XYZ    2        20       0
LMN    3        30       0
LMN    3        50       0
XYZ    2        10       0
LMN    3        5        0




Пожалуйста, помогите мне обновить ту же таблицу, как показано ниже, суммируя баллы


NAME   Emp_ID   Points   TotalPoints
ABC    1        50       90
ABC    1        40       90
XYZ    2        20       30
LMN    3        30       85
LMN    3        50       85
XYZ    2        10       30
LMN    3        5        85


Что я уже пробовал:

Я большой специалист по SQL. Я попытался присоединиться к тому же столу, но не смог найти решение. Пожалуйста помочь

2 Ответов

Рейтинг:
15

Maciej Los

Я бы попробовал что-нибудь в этом роде:

UPDATE dst 
  SET dst.TotalPoints= src.TotalPoints
FROM
    YourTable AS dst
    INNER JOIN
    (
        SELECT Emp_ID, SUM(Points) AS TotalPoints
        FROM YourTable
        GROUP BY Emp_ID
    ) AS src ON dst.Emp_ID = src.Emp_ID


MadMyche

+5

Maciej Los

Спасибо.

Рейтинг:
12

OriginalGriff

Попробуйте вставить ... И присоединиться к группе по:

UPDATE Points 
SET TotalPoints = tot
FROM Points p 
INNER JOIN (SELECT Emp_ID, SUM(Points) AS tot 
                   FROM Points 
                   GROUP BY Emp_id) t
ON t.Emp_ID = p.Emp_ID


MadMyche

+5