sqlite: как обновить столбец с результатами из подзапроса? - PullRequest
0 голосов
/ 15 октября 2019

Мне нужно обновить столбец, содержащий количество повторяющихся значений одной и той же таблицы. Запрос на дубликаты прост, но как обновить столбец с его результатами?

Это то, к чему меня привели мои скромные знания SQL:

with dupl as (
select "KGEZ" as k, count(*) as c from tableA group by "KGEZ" having c>1
)
update tableA
set "kgez_count" = "c"
where  "KGEZ" = "k"

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 15 октября 2019

Я думаю, что это то, что вы хотите:

with dupl as (
  select "KGEZ" as k, count(*) as c from tableA group by "KGEZ" having c > 1
)
update tableA
set "kgez_count" = coalesce((select c from dupl where k = tableA."KGEZ"), 0)

Я использую coalesce() на всякий случай, если для "KGEZ" нет дубликатов, если вы не хотите, чтобы этот столбец обновлялся доnull.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...