У меня проблема с обновлением рабочей таблицы - значения из этой таблицы берутся из самой таблицы.Вот моя таблица:
+----------+----------+-----+---------+
| EVEN_KEY | INVE_KEY | QUA | QUA_MAX |
+----------+----------+-----+---------+
| 1 | 2 | 1 | NULL |
| 2 | 2 | 2 | NULL |
| 3 | 2 | 3 | NULL |
| 1 | 1 | 2 | NULL |
| 4 | 2 | 3 | NULL |
+----------+----------+-----+---------+
Я хотел бы обновить столбец qua_max - суммировать столбец qua для данного inve_key для каждой строки.Итак, результаты в приведенной выше таблице должны выглядеть после обновления:
+----------+----------+-----+---------+
| EVEN_KEY | INVE_KEY | QUA | QUA_MAX |
+----------+----------+-----+---------+
| 1 | 2 | 1 | 9 |
| 2 | 2 | 2 | 9 |
| 3 | 2 | 3 | 9 |
| 1 | 1 | 2 | 1 |
| 4 | 2 | 3 | 9 |
+----------+----------+-----+---------+
И вот моя проблема - запрос из этого примера дает мне ошибку, я даже не могу ее запустить.Что не так?
Ошибка:
Запрос:
UPDATE @TEMP_FINAL
SET QUA_MAX = (SELECT SUM(QUA)
FROM @TEMP_FINAL t2
WHERE @TEMP_FINAL.INVE_KEY = t2.INVE_KEY
GROUP BY INVE_KEY
)
ТАБЛИЦА ПРИМЕРОВ:
DECLARE @TEMP_FINAL TABLE
(
EVEN_KEY INT,
INVE_KEY INT,
QUA INT,
QUA_MAX INT
)
insert into @TEMP_FINAL (even_key, inve_key, qua)
values(1, 2, 1),
(2,2,2),
(3,2,3),
(1,1,2),
(4,2,3)