Мне нужна помощь.SQL Множественная запись обновления от SELECT WHERE
Я хочу полностью количество материала с тем же идентификатором в любом счете.
как этот
bill no. 001
jellopy x1ea
jellopy x1ea
jellopy x1ea
zargon x1ea
результат должен быть
bill no. 001
jellopy x3ea
zargon x1ea
Итак, я хочу сделать что-то вроде этого
1.Select + сумма 2.update 3.delete дублируют
вот мой старый (dbill) стол
dbill
id mat qty
01 A1 1
01 A1 1
01 A1 1
01 A2 1
id mat qty
[01 A1 1] < same mat&id = SUM it
[01 A1 1] < same mat&id = SUM it
[01 A1 1] < same mat&id = SUM it
01 A2 1
и это SQLFiddle для испытания http://sqlfiddle.com/#!15/b30a3c количество
1 СУММА с тем же самым материалом
SELECT mat,id,sum(qty) result
FROM dbill
GROUP BY id,mat
[2] получили результат, как этот
id mat qty
01 A1 3
01 A2 1
[3] так ... я буду обновлять, как этот
UPDATE dbill
SET qty = result
FROM dbill t
INNER JOIN
(SELECT mat,id,sum(qty) result
FROM dbill
GROUP BY id,mat) s
ON s.id = t.id
AND s.mat = t.mat
проблема, когда я [3] ДОПОЛНЕНО вот результат
id mat qty
01 A1 3
01 A1 3
01 A1 3
01 A2 3
потому, что правильный результат должен be
id mat qty
01 A1 3
01 A1 3
01 A1 3
01 A2 1 <
Благодарим вас за понимание и ответ ...
[цитата из руководства] (https://www.postgresql.org/docs/current/static/sql-update.html): «* Обратите внимание, что целевая таблица должна ** не ** появится в from_list * " –