Я пытаюсь подсчитать количество уникальных операторов пула для каждого разрешения # в таблице, но у меня возникают проблемы при помещении этого значения в новый столбец, посвященный этому количеству.
Итак, у меня есть 2 таблицы:doh_analysis;doh_pools.
Обе эти таблицы имеют столбец "allow" (TEXT), но в doh_analysis есть около 1000 строк с дубликатами в столбце разрешения, но случайные уникальные значения в столбце оператора (TEXT).
Я пытаюсь заполнить столбец "operator_count" в таблице "doh_pools" количеством уникальных значений в "pooloperator" для каждого разрешения #.
Итак, я попробовал следующий код, но получаю синтаксическую ошибку на уровне или около "(":
update doh_pools
set operator_count = select count(distinct doh_analysis.pooloperator)
from doh_analysis
where doh_analysis.permit ilike doh_pools.permit;
Когда я убираю "select" перед "count", которое я получаю "Ошибка SQL [42803]: ОШИБКА: агрегатные функции не разрешены в ОБНОВЛЕНИИ ".
Я могу успешно запросить список различных пар разрешений-пулов операторов, используя:
select distinct permit, pooloperator
from doh_analysis;
И я могу запроситьколичество уникальных пуловоператоров на разрешение 1 за один раз, используя:
select count(distinct pooloperator)
from doh_analysis
where permit ilike '52-60-03054';
Но я изо всех сил пытаюсь вставить количество уникальных пар для каждого разрешения # в столбце operatorcount.
IsЕсть ли способ сделать это?