Как присвоить значение NULL на основе уникального идентификатора в SQL? - PullRequest
0 голосов
/ 22 октября 2019

Я пытаюсь присвоить строку пустой категории на основе столбца идентификатора. То, что я хочу сделать, это заменить пустые значения торговым представителем на основе идентификатора. Мне не обязательно перезаписывать нули, добавление столбца с откорректированными названиями продаж тоже работает. Я подумал, может быть, используя группу дел на основе уникального идентификатора, но мне не повезло. У меня есть таблица с такой структурой:

Пример данных:

ID            SalesRep      Amount  
123           Steve         50.00  
123           Steve         100.00  
123           Steve         150.00   
123           NULL          200.00

456           Dave          25.00  
456           Dave          75.00  
456           Dave          500.00   
456           NULL          300.00

Ожидаемый результат:

ID            SalesRep      Amount  
123           Steve         50.00  
123           Steve         100.00  
123           Steve         150.00   
123           Steve         200.00

456           Dave          25.00  
456           Dave          75.00  
456           Dave          500.00   
456           Dave          300.00

1 Ответ

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

Вы можете использовать оконные функции:

select t.*,
       coalesce(SalesRep,
                max(SalesRep) over (partition by id) as imputed_ SalesRep
               )
from t;
...